Консультация № 171369
16.08.2009, 00:09
0.00 руб.
0 4 3
Нужно создать одномерный массив в Excel.

Всё началось с того, что при заполнении квитанции по оплате электроэнергии в Excel понадобилось, чтобы в определенных ячейках автоматически выводилось название месяца. Это название должно было формироваться из функции ТДАТА(), введенной в одной из ячеек данной книги. При решении этой задачи решил использовать одномерный массив. Ввести {Январь, Февраль, ..., Декабрь}.
Сделал, как написано в Справке в Excel. Для тренировки просто попробовал сделать массив из 5-ти чисел 1,2,3,4,5. Выделил 5 ячеек по горизонтали, в строке функций набрал ={1,2,3,4,5} и нажал клавиши CTRL+SHIFT+ВВОД

После этого сразу же выдается сообщение:
Обнаружены ошибки во введенной формуле. Принять предлагаемые исправления ?
={1,2345}
И если я говорю Принять, то получаю в каждой из 5-ти ячеек - 1,2345

Но никак не получается, чтобы в 5-ти ячейках последовательно были введены цифры 1 2 3 4 5.

Когда пробовал использовать массив (через клавиши CTRL+SHIFT+ВВОД) при получении итогового столбца при перемножении чисел из 2-х других столбцов, то все хорошо получалось.
А когда решил просто ввести массив чисел, то получается такая ерунда.

Так в чем же моя ошибка ?

Обсуждение

Неизвестный
16.08.2009, 10:14
общий
это ответ
Здравствуйте, Alexansh.
А почему запятые? В справке указаны точки с запятой (;) в качестве разделителей столбцов и двоеточия (:) в качестве разделителей строк.
давно
Модератор
137394
1850
16.08.2009, 12:50
общий
это ответ
Здравствуйте, Alexansh. Решаю Вашу начальную задачу
чтобы в определенных ячейках автоматически выводилось название месяца. Это название должно было формироваться из функции ТДАТА()
Вот формулы, решающая Вашу задачу
Код:
=ВЫБОР(МЕСЯЦ(ТДАТА());"Январь";"Февраль";"Март";"Апрель";"Май";"Июнь";"Июль";"Август";"Сентябрь";"Октябрь";"Ноябрь";"Декабрь")
или вариант формулы
=ИНДЕКС({"Январь";"Февраль";"Март";"Апрель";"Май";"Июнь";"Июль";"Август";"Сентябрь";"Октябрь";"Ноябрь";"Декабрь"};МЕСЯЦ(ТДАТА()))
Если функция
=МЕСЯЦ(ТДАТА()) применяется в какой-то одной ячейке (например H7), формулу можно переписать
Код:
=ВЫБОР($H$7;"Январь";"Февраль";"Март";"Апрель";"Май";"Июнь";"Июль";"Август";"Сентябрь";"Октябрь";"Ноябрь";"Декабрь")
или вариант формулы
=ИНДЕКС({"Январь";"Февраль";"Март";"Апрель";"Май";"Июнь";"Июль";"Август";"Сентябрь";"Октябрь";"Ноябрь";"Декабрь"};$H$7)
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Мастер-Эксперт
5157
1914
16.08.2009, 16:02
общий
Megaloman:
Не заметил ничего странного на главной странице, пометку убрал.
Об авторе:
Детям в интернет нельзя, интернет от них тупеет
Неизвестный
18.08.2009, 11:11
общий
18.08.2009, 12:58
это ответ
Здравствуйте, Alexansh.
В целом, суть моего ответа сводится к тому же, о чем уже говорил Чичерин Вадим Викторович.
Ваша ошибка в том, что вы поверили справочной информации к Excel :)
Ниже - фрагмент справки к Excel 2007, где действительно предлагается для создания массива констант в качестве разделителей использовать запятые.

В следующей ниже процедуре вы потренируетесь в создании горизонтальных, вертикальных и двумерных констант.

Создание горизонтальной константы
Воспользуйтесь книгой из предыдущего раздела или создайте новую книгу.
Выделите ячейки от A1 до E1 включительно.
В строке формул введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:
={1,2,3,4,5}

Примечание. В этом случае следует ввести открывающую и закрывающие фигурные скобки ({ }).

Вы получите следующий результат.


В действительности, как и сказал Чичерин Вадим Викторович в качестве разделителей следует использовать точку с запятой. Т.е. ваши действия:
Выделите ячейки от A1 до E1 включительно.
В строке формул введите указанную ниже формулу:
={1;2;3;4;5}
, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД

Что интересно, в этом же разделе справки, когда описывается создание вертикальных констант, все корректно:
Создание вертикальной константы
Выделите в книге столбец из пяти ячеек.
В строке формул введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:
={1;2;3;4;5}
Вы получите следующий результат.

Все.
Рад был помочь.
Форма ответа