Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ (часть 4)

Автор: SERGE_BLIZNUK
Дата сообщения: 13.11.2009 06:30
mistx

Цитата:
в строке пишу 5 3 6 Д - не считает Д
если пишу в ячейке = Д...

и что, так тоже не считает: = 5 + 3 + 6 + Д
???

ну тогда я вижу решение ТОЛЬКО через пользовательскую функцию или макрос...
Автор: mistx
Дата сообщения: 13.11.2009 08:01

Цитата:
и что, так тоже не считает:

тоже не рубит

Цитата:
ну тогда я вижу решение ТОЛЬКО через пользовательскую функцию или макрос

да. наверное так и сделаю, либо оставлю вариант с массивом.

Автор: kimtan
Дата сообщения: 13.11.2009 18:28
mistx
Могу предложить еще пару вариантов:
http://webfile.ru/4082519
Автор: Solenaja
Дата сообщения: 14.11.2009 18:51
подскажите как создать автоматически Структуру
в столбце А уже находятся:
01
01-01
01-01-1
01-01-1-01
01-01-1-02
01-01-1-03
01-01-1-04
01-01-1-05
01-01-1-06
01-01-1-07
01-01-1-08
01-01-1-09
01-01-1-10
01-01-1-11
01-01-1-12
01-01-1-13
01-01-1-14
01-01-1-15
01-01-2
01-01-2-1
01-01-2-2
01-01-2-3
01-01-2-4
01-01-3
01-01-3-1
01-01-3-2
01-01-3-3
01-01-4
01-01-4-1
01-01-4-2
01-02
01-02-1
01-02-1-01
01-02-1-02
01-02-1-03
01-02-1-04
01-02-1-05
01-02-1-06
01-02-1-07
и т.д.
Автор: Mushroomer
Дата сообщения: 14.11.2009 19:54
Solenaja
Если ты не можешь объяснить принцип (а на первый взгляд он не виден) построения этой структуры, то нельзя понять как ее сделать. Имхо программировать надо.
Автор: Solenaja
Дата сообщения: 15.11.2009 00:03
Создание Структуры в Excel стандартная процедура, предполагалось что понятно о чем идет речь...

файл думаю все прояснит
http://www.sendspace.com/file/nxp796
Автор: kimtan
Дата сообщения: 15.11.2009 00:24
Solenaja
Автоматическое cоздание подобных структур, можно выполнить только макросом, вопросы по макросам обсуждаются в другой ветке, судя по количеству Ваших постов и дате регистрации - Вы не первый день на форуме и должны это знать.
Автор: Solenaja
Дата сообщения: 15.11.2009 00:48
kimtan
сначала предполагалось, что возможно сделать и стандартными способами, но не получилось, собственно решение уже спрашиваю в vba
Автор: xameleon1
Дата сообщения: 16.11.2009 13:47
Как в экселе сделать такое не в курсе ?
допустим в ячейках данные:
а1 b1 с1
000001 09 000001

как сделать чтоб в ячейке d1 получилось
00000109000001 ?
Автор: sashco999
Дата сообщения: 16.11.2009 14:24
xameleon1
d1=СЦЕПИТЬ(а1:b1:c1)
вроде так
Автор: nightingale
Дата сообщения: 16.11.2009 14:59
Давно ломаю голову - как в excel 2007 два файла одновременно увидеть? Или может как-то надо два экземпляра эксель запустить? Но как?
Автор: xameleon1
Дата сообщения: 16.11.2009 15:05

Цитата:
sashco999

Спасибо
Автор: PSVRF
Дата сообщения: 16.11.2009 15:23
nightingale
Открываешь оба файла, идешь Вкладка Вид-Окно и в центре вверху этой секции нажимаешь кнопку "рядом" (кнопка с 2 листами), там есть и другие функции, выбирай на свое усмотрение.
Автор: xyepblra
Дата сообщения: 16.11.2009 15:41

Цитата:
d1=СЦЕПИТЬ(а1:b1:c1)
вроде так

Так, да не совсем. Одно небольшое "но": содержимое ячеек a1, b1 и c1 должно иметь формат текста.
Автор: Mushroomer
Дата сообщения: 16.11.2009 15:48
xameleon1
Цитата:
как сделать чтоб в ячейке d1 получилось 00000109000001 ?
=A1&B1&C1
Автор: nightingale
Дата сообщения: 16.11.2009 15:59
PSVRF
Спасибо огромное!
Автор: SergeyIMHO
Дата сообщения: 17.11.2009 07:55
Доброго времени суток!!!

подскажите пожалуйста в MS Office Excel 2003 путем определенных вычислений в ячейке получается к примеру значение 9339, мне необходимо что бы это значение окрглялось до 9350, а если значене получается например 9324 то округлялось до 9300

т.е. как мне можно в MS Office Excel 2003 задать округление десятков???7

заранее спасибо!!!!
Автор: Mushroomer
Дата сообщения: 17.11.2009 09:34
SergeyIMHO
Цитата:
9339
9339 с учетом округления до десятков будет округляться до 9340, а не до 9350
Если с округлением до десятков, то будет такая формула =ОКРУГЛ(A1/10;0)*10
Если надо сделать то, что ты написал (округление до 50), то будет такая формула =ОКРУГЛ(A1/50;0)*50
Автор: SergeyIMHO
Дата сообщения: 17.11.2009 11:51

Цитата:
9339 с учетом округления до десятков будет округляться до 9340, а не до 9350
Если с округлением до десятков, то будет такая формула =ОКРУГЛ(A1/10;0)*10
Если надо сделать то, что ты написал (округление до 50), то будет такая формула =ОКРУГЛ(A1/50;0)*50



нашел выход приминимо к моей задаче получается так

=ОКРУГЛ(A1;-2)

и все работает именно так как я хотел. Может еще кому пригодится!
Автор: coerbi
Дата сообщения: 17.11.2009 11:58
Требуется в MS Office Excel 2003 сгруппировать данные по типу SQL запроса:

Код: SELECT SUM(E) FROM TABLE GROUP BY A
Автор: Mushroomer
Дата сообщения: 17.11.2009 12:15
SergeyIMHO
Цитата:
нашел выход приминимо к моей задаче получается так
=ОКРУГЛ(A1;-2)
Не будет так работать. по этой формуле 9339 округлится до 9300. А ты говорил, что должно округлиться до 9350.
Автор: SergeyIMHO
Дата сообщения: 18.11.2009 08:46

Цитата:
Не будет так работать. по этой формуле 9339 округлится до 9300. А ты говорил, что должно округлиться до 9350


точно, извините!!!

а выход есть??? что бы решить задачу так как это нужно мне???
Автор: virginijus
Дата сообщения: 18.11.2009 08:57
Подскажите пожалуиста как сделать так чтобы при вводе в ячеику 20091117 или 091117 данная запись появилась как формат даты и отобразилась - 2009.11.17 Спасибо

Добавлено:
Нашел ответ:

Если Вам часто приходится вводить даты и время в ячейки, то Вам должна понравиться идея писать их сокращенно, без точек-дробей-двоеточий - просто как число. Чтобы (в заданном диапазоне ячеек листа) 250699 автоматически превращалось в 25.06.1999, а 1125 в 11:25.

Для этого щелкните по ярлычку листа, куда будут вводиться даты и время и выберите Исходный текст (Source Code). В открывшееся окно редактора Visual Basic скопируйте и вставьте следующий код:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vVal
Dim StrVal As String
Dim dDate As Date

If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A2:A10")) Is Nothing Then
With Target
StrVal = Format(.Text, "000000")
If IsNumeric(StrVal) And Len(StrVal) = 6 Then
Application.EnableEvents = False
dDate = DateValue(Left(StrVal, 2) & "/" & Mid(StrVal, 3, 2) & "/" & Right(StrVal, 2))
.NumberFormat = "dd/mm/yyyy"
.Value = CDate(DateSerial(Year(dDate), Month(dDate), Day(dDate)))
End If
End With
End If

If Not Intersect(Target, Range("B2:B10")) Is Nothing Then
With Target
vVal = Format(.Value, "0000")
If IsNumeric(vVal) And Len(vVal) = 4 Then
Application.EnableEvents = False
.Value = Left(vVal, 2) & ":" & Right(vVal, 2)
.NumberFormat = "[h]:mm"
End If
End With
End If
Application.EnableEvents = True

End Sub
Автор: Mushroomer
Дата сообщения: 18.11.2009 09:37
SergeyIMHO
Цитата:
а выход есть??? что бы решить задачу так как это нужно мне???
Я же написал формулу
Цитата:
Если надо сделать то, что ты написал (округление до 50), то будет такая формула =ОКРУГЛ(A1/50;0)*50
Автор: virginijus
Дата сообщения: 18.11.2009 10:24
Както не поиму, чтото не всегда корректно работает ввысше указанныи мною код
Автор: Mushroomer
Дата сообщения: 18.11.2009 11:59
virginijus
Обратись для консультаций в параллельный топик Excel VBA
Автор: virginijus
Дата сообщения: 19.11.2009 12:03

Цитата:
Обратись для консультаций в параллельный топик Excel VBA

Спасибо Mushroomer, еще вопрос офис у меня 2007 не поиму где и как включить разрешение выполнять микрокоманды. Спасибо
Автор: Mushroomer
Дата сообщения: 19.11.2009 12:23
virginijus
У меня есть такой хитрый файлик, скаченный с Microsoft, в котором указаны соответствия между 2003 и 2007 Excel Попробуй.
2003 2007
Macro | Security -> Developer | Code | Macro Security
Options -> Office Button | Excel Options
Автор: Unnicked
Дата сообщения: 19.11.2009 14:06
Mushroomer
Этот файлик?

Автор: coerbi
Дата сообщения: 19.11.2009 18:30
Эй, б'гатцы, а мне кто-нить может помочь . Мой пост выше

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Какой поставить ведеоплеер под Vista


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.