Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Еще…Меньше
При вводе формулы массивачаще всего используется диапазон ячеек на вашем компьютере, но это не нужно. Вы также можете использовать константымассива , значения, которые вы просто вводите в панели формул внутри скобок: {}. После этого вы сможете назвать константу, чтобы использовать ее еще раз.
Константы можно использовать как в формулах массива, так и в самих себе.
-
В формуле массива введите открываемую скобку, нужные значения и закрываюю скобку. Пример: =СУММ(A1:E1*{1;2;3;4;5})
Константа находится внутри скобок ({)}, и да, вы действительно введите эти скобки вручную.
-
Введите оставшуюся часть формулы и нажмите CTRL+SHIFT+ВВОД.
Формула будет выглядеть так: {=СУММ(A1:E1*{1;2;3;4;5})}и результаты будут выглядеть так:
Формула умножает A1 на 1, B1 на 2 и т. д., что не нужно помещает 1,2,3,4,5 в ячейки на этом сайте.
Ввод значений в столбец с помощью константы
Чтобы ввести значения в одном столбце, например 3 ячейки в столбце C, необходимо:
-
Выделите нужные ячейки.
-
Введите знак равно и константу. Значения в константах разделяются запятой, а не запятой. Если вы вводите текст, заведите его двойными кавычками. Например: ={«Квартал 1″;» Квартал2″;» Квартал 3″}
-
Нажмите клавиши CTRL+SHIFT+ВВОД. Константа выглядит так:
В данном случае это одномерная вертикальная константа.
Ввод значений в строке с помощью константы
Чтобы быстро ввести значения в одной строке, например ячейки F1, G1 и H1, вы можете:
-
Выделите нужные ячейки.
-
Введите знак равно и константы, но в этот раз значения разделяйте запятой, а не запятой. Например: ={1;2;3;4,5}
-
Нажмите CTRL+SHIFT+ВВОД, и константа будет выглядеть так:
Это одномерная горизонтальная константа.
Использование константы для ввода значений в нескольких столбцах и строках
-
Вы выберите нужные ячейки.
Убедитесь, что количество строк и столбцов, которые вы выбрали, соответствует количеству значений в константе. Например, если константа будет записывать данные в четыре столбца и три строки, выберите столько столбцов и строк.
-
Введите знак равно и константу. В этом случае разделять значения в каждой строке запятой и использовать запятую в конце каждой строки. Например:
={1;2;3;4:5;6;7;8:9;10;11;12}
-
Нажмите CTRL+SHIFT+ВВОД и:
Это двумерная константа, которая заполняет столбцы и строки. Если вам интересно, вы не можете создать трехмерную константу, то есть не сможете вложенность константы в другую.
Использование константы в формуле
Теперь, когда вы знакомы с константами массива, вот рабочий пример.
-
В любой пустой ячейке введите (или скопируйте и введите) эту формулу и нажмите CTRL+SHIFT+ВВОД:
=СУММ(A1:E1*{1;2;3;4;5})
В ячейке A3 появится значение 85.
Что произошло? Вы перемножили значение в ячейке A1 на 1, значение в ячейке B2 на 2 и так далее, после чего функция СУММ добавила эти результаты. Можно также ввести формулу =СУММ(A1*1;B1*2;C1*3;D1*4;E1*5)
При этом можно ввести оба набора значений в качестве констант массива:
=СУММ({3;4;5;6;7}*{1;2;3;4;5})
Чтобы сделать это, скопируйте формулу, выйдите из пустой ячейки и введите формулу в формулу и нажмите CTRL+SHIFT+ВВОД. Вы увидите такой же результат.
Примечания: Если константы не работают, наймите их.
-
Убедитесь, что значения следует разделять с помощью соответствующих символов. Если опустить запятую или запятую либо поместить ее в неправильное место, константа массива может выглядеть неправильно или вы увидите предупреждение.
-
Возможно, вы выбрали диапазон ячеек, не совпадающие с числом элементов в константе. Например, если выбрать столбец из шести ячеек для использования с константой из пяти ячеек, в пустой ячейке появится #N/Д. Если не выбрано достаточно ячеек, Excel опустить значения, не соответствующие ячейке.
-
Дополнительные информацию о формулах массива:
-
Ввод формулы массива
-
Расширение диапазона формулы массива
-
Удаление формулы массива
-
Правила изменения формул массива
-
К началу страницы
Нужна дополнительная помощь?
Массив значений (или константа массива или массив констант) – это совокупность чисел или текстовых значений, которую можно использовать в
формулах массива
. Константы массива необходимо вводить в определенном формате, например, для чисел {1:2:3:4:5} или для текстовых значений {«Север»:»ЮГ»:»Восток»:»Запад»}.
В обычную формулу можно ввести ссылку на ячейку, содержащую значение, или на само значение, называемое также константой. Подобным образом в
формулу массива
можно ввести или ссылку на массив, или
массив значений
, содержащихся в ячейках (в справке EXCEL его называют
константой массива
).
Константы массива
необходимо вводить в определенном формате.
Создание одномерного массива констант
Перед созданием
Массива констант
посмотрим повнимательнее на диапазон ячеек, содержащий обычные значения (см.
Файл примера
)
-
в диапазон ячеек
A
1:
A
5
введите, например, 5 последовательных чисел от 1 до 5.
-
в ячейке
B1
введите формулу
=A1:A5
;
-
в
Строке формул
выделите
A1:A5
и нажмите клавишу
F9
; -
получим некую запись {1:2:3:4:5}, представляющую собой набор значений из диапазона
A1:A5
Этот набор значений, как и
формулы массива
, обрамлен в фигурные скобки, сами значения разделены двоеточиями. Если бы значения были размещены в строке (в диапазоне
A1:E1
), а не в столбце, то значения были бы разделены точкой с запятой {1;2;3;4;5}.
Создадим
константу массива
в ячейке
B2
.
Для этого введем в ячейку выражение
={1:2:3:4:5}
и нажмем
ENTER
.
Массив значений
не заключается в скобки автоматически, как
формулы массива
после нажатия
CTRL+SHIFT+ENTER
. Это необходимо делать вручную. В ячейке отразится только первое значение массива, т.е. 1.
Обычно
массив значений
не вводят в одну ячейку, т.к. в этом случае невозможно вытащить отдельные значения. Чтобы отобразить все значения нашего
массива значений
нужно выделить 5 ячеек в столбце (например,
B1:B5
), в
Строке формул
ввести выражение
={1:2:3:4:5}
и нажать
CTRL+SHIFT+ENTER
.
Теперь попробуем удалить один элемент массива, например из ячейки
B
3
. Получим предупреждение «
Нельзя изменить часть массива
» — это определенного вида защита массива.
Чтобы избежать утомительного ввода
последовательных чисел
для
вертикального
массива констант можно воспользоваться формулой
=СТРОКА(1:5)
. Записав ее любой пустой ячейке, выделите ее в строке формул и нажмите
F9
, а затем нажмите
ENTER
. Получите массив констант
{1:2:3:4:5}
. Скопируйте содержимое ячейки в буфер обмена (
CTRL+C
), затем выделите вертикальный диапазон ячеек, соответствующий размерности массива, вставьте в активную ячейку содержимое
Буфера обмена
и нажмите
CTRL+SHIFT+ENTER.
Чтобы избежать утомительного ввода последовательных чисел для горизонтального массива констант используйте формулу
=ТРАНСП(СТРОКА(1:5))
или
=СТОЛБЕЦ(A:E)
. Получите массив констант
={1;2;3;4;5}
. Значения массива будут разделены точкой с запятой.
Применение массива констант
А. Умножение векторов (столбец на столбец, строку на строку)
С помощью
формулы массива
умножим столбец значений (
B
2:
B
6
) на
массив констант
{1:2:3:4:5} и просуммируем.
Массив констант
записан в «вертикальном» виде с использованием двоеточия, т.е. также представляет собой столбец. Размерности столбца и массива должны совпадать.
=СУММ(B2:B6*{1:2:3:4:5})
После ввода формулы необходимо нажать
CTRL+SHIFT+
ENTER
.
Формула массива
сначала выполнит поэлементное умножение значений из столбца и констант из массива. Эквивалентом данной формулы является следующее обычное выражение:
=СУММ(B2*1;B3*2; B4*3; B5*4; B6*5)
В последнюю очередь выполняется сложение значений при помощи функции
СУММ()
.
Б. Проверка значений
Проверим, равно ли значение в ячейке
А1
одному из определенных значений: 4, 6 или 9.
=ИЛИ(A1={4;6;9})
После ввода формулы нет необходимости нажимать
CTRL+SHIFT+ENTER
. Такая запись может существенно сократить время создания формулы по сравнению с использованием вложенных функций
ЕСЛИ()
.
Именование массива констант
Массиву констант
можно присвоить
Имя
. Обычно так поступают с константами, образующими группу однотипных значений, например последовательности с конечным количеством элементов
={1:2:3}
.
Чтобы присвоить
массиву констант
имя необходимо сделать следующее:
-
на вкладке
Формулы
в группе
Определенные имена
выберите команду
Присвоить имя
. -
В поле
Имя
введите
Массив123
. -
В поле
Диапазон
введите
массив констант
(не забудьте ввести скобки вручную), например
{1:2:3}
; - Нажмите кнопку ОК.
Пример, найдем
сумму 3-х наибольших значений
, записав формулу
=СУММПРОИЗВ(НАИБОЛЬШИЙ(A1:A10;Массив123))
.
Предполагается, что в диапазоне
A1:A10
имеется список числовых значений.
Создание двумерного массива констант
Чтобы создать двумерный массив констант необходимо сделать следующее:
-
выделите в книге диапазон ячеек из четырех столбцов и трех строк (
A1:D3
). -
в активной ячейке (
А1
), в
Cтроке формул
введите выражение
={1;2;3;4: 5;6;7;8: 9;10;11;12}
-
нажмите сочетание клавиш
CTRL+SHIFT+
ENTER
Мы получили двумерный массив констант, у которого нельзя удалить ни один элемент по отдельности – только все сразу. Как видно из формулы, строки в массиве разделяются двоеточиями, а элементы в строке – точкой с запятой.
Применение двумерного массива констант
Создадим небольшой
Справочник
, позволяющий по номеру месяца выводить его название.
Присвоим
Имя
Месяцы
двумерному массиву:
={1;»январь»:2;»февраль»:3;»март»:4;»апрель»:5;»май»:6;»июнь»: 7;»июль»:8;»август»:9;»сентябрь»:10;»октябрь»:11;»ноябрь»:12;»декабрь»}
Чтобы избежать утомительного ввода этого массива создайте два столбца, один с числами от 1 до 12, другой с названиями месяцев (см. статью
Текстовые последовательности
). Затем, в
Строке формул
введите ссылку на этот диапазон, нажмите
F9
и скопируйте в
Буфер обмена
.
Теперь записав формулу
=ВПР(A2;Месяцы;2)
, где в ячейке
A2
— номер месяца, получим желаемый результат.
Для желающих получить дополнительную информацию о константах массива —
]]>
ссылка на статью сайта Microsoft на английском языке
]]> .
Это глава из книги: Майкл Гирвин. Ctrl+Shift+Enter. Освоение формул массива в Excel.
Предыдущая глава Оглавление Следующая глава
Ранее в этой книге вам неоднократно встречались массивы констант. Действительно, каждый раз, когда вы проводили оценку работы элементов формул, используя клавишу F9, вы видели пример массива констант. Например, в первой формуле массива, созданного в главе 2 (снова показан на рис. 7.1), вы можете выделить D2:D5-C2:C5, и нажав F9, увидеть результирующий массив {3;–8;7;6}. Однако, ранее, оценив массив, вы сразу же нажимали Ctrl+Z, чтобы оставить внутри формулы не жесткий код, а ссылку. Если бы вы не использовали Ctrl+Z, вы бы создали массив констант, который бы не изменялся при изменении исходных данных на листе. В этой главе вы узнаете о ситуациях, в которых использование массива констант дает преимущества.
Рис. 7.1. Выделите массив (слева), нажмите F9 (справа), и получите массив констант
Скачать заметку в формате Word или pdf, примеры в формате Excel2013
Рассмотрим синтаксис, используемый для создания массива констант, и примеры, иллюстрирующие три типа массива констант, с которыми вы можете столкнуться в Excel.
Вертикальный массива констант (рис. 7.2). В ячейке А6 создайте ссылку на массив =А2:А4, и нажмите F9. Вы увидите массив элементов, расположенный в фигурных скобках; текст всегда отображается в кавычках; двоеточие – разделитель, указывающий, что элементы расположены в столбце друг под другом.
Рис. 7.2. Вертикальный диапазон ячеек: выделите ссылку (слева) и нажмите F9 (справа)
Горизонтальный массив констант (рис. 7.3). В ячейке А6 создайте ссылку на массив =А2:В2, и нажмите F9. Вы увидите массив элементов, расположенный в фигурных скобках; текст всегда отображается в кавычках; цифры отображаются просто цифрами; точка с запятой, – разделитель, указывающий, что элементы расположены в одном ряду, в соседних столбцах.
Рис. 7.3. Горизонтальный диапазон ячеек: выделите ссылку (слева) и нажмите F9 (справа)
Прямоугольный массив констант (рис. 7.4). В ячейке А6 создайте ссылку на массив =А2:В4, и нажмите F9. Вы увидите массив элементов, расположенный в фигурных скобках; текст всегда отображается в кавычках; цифры отображаются просто цифрами; используются два разделителя: точка с запятой – для перехода к соседней колонке в той же строке, и двоеточие – для перехода в первую колонку новой строки.
Рис. 7.4. Прямоугольный диапазон ячеек: выделите ссылку (слева) и нажмите F9 (справа)
У вас может возникнуть вопрос, существуют ли ситуации, когда массив констант будет полезен? Не входит ли он в противоречие с золотым правилом Excel: если исходные данные могут измениться, разместите их на листе и сошлитесь на них внутри формулы; если исходные данные не изменятся, жестко закодируйте их в формуле. Польза от массива констант заключается в том, что формула с ним не требует нажатия Ctrl+Shift+Enter. Таким образом, если исходные данные не изменятся, используйте массив констант.
Рассмотрим пример из игры в гольф (рис. 7.5). Цель – найти сумму трех лучших (минимальных) результатов, при этом не учитывать 4-й и последующие результаты, если они равны третьему (видно, что в нашем примере как раз такой случай с числом 70). Для решения задачи отлично подойдет функция НАИМЕНЬШИЙ, аргумент k которой позволит выбрать требуемые значения: k = 1 даст минимальное значение, k = 2 – второе и т.д. Как видно на рис. 7.5, сумма трех наименьших при k = 1, 2, 3 дает правильный ответ. Отличная формула, имеющая, пожалуй, лишь тот недостаток, что потребует времени на написание, если вам нкжно отобрать, скажем, 10 минимальных значений.
Рис. 7.5. Аргумент k функции НАИМЕНЬШИЙ позволяет получить k-ое наименьшее значение
Чтобы создать более компактную формулу можно поместить массив в аргумент функции (рис. 7.6). И здесь вам пригодится массив констант {1,2,3}. Вы можете использовать жесткий код, поскольку число отбираемых значений меняться не будет. Поскольку аргумент k имеет три значения, функция НАИМЕНЬШИЙ также вернет три значения, которые и будут просуммированы. Чтобы убедиться в этом, выделите аргумент число1 функции СУММ и нажмите F9 (рис. 7.7). Видно, что, хотя третье наименьшее значение имеют два равных числа 70, функция НАИМЕНЬШИЙ(B3:B8;{1;2;3}) вернула только три числа.
Рис. 7.6. Массив констант помещен в k аргумент функции НАИМЕНЬШИЙ
Рис. 7.7. Функция НАИМЕНЬШИЙ возвращает три наименьших значения, исключая «лишние» 70
Примечание: не важно, зададите ли вы массив констант горизонтальным {1;2;3} или вертикальным {1:2:3}.
Для ввода формулы не потребовались Ctrl+Shift+Enter. Однако, если вы вместо массива констант в аргументе k, используете ссылку на диапазон (рис. 7.8), ввод формулы потребует нажатия Ctrl+Shift+Enter (в противном случае вы получите ошибку #ЗНАЧ!). Заметим, что Ctrl+Shift+Enter можно всё же избежать, если воспользоваться формулой: =СУММПРОИЗВ(НАИМЕНЬШИЙ(B3:B8;D3:D5))
Рис. 7.8. Использование ссылки на диапазон D3:D5 в аргументе k потребует Ctrl+Shift+Enter
Примечание: HELP функции НАИМЕНЬШИЙ не содержит упоминания, что аргумент k может быть представлен массивом констант. Это является очередным свидетельством того, насколько плохо задокументированы возможности Excel по работе с формулами массива. Я узнал об этом на форуме MrExcel и многолетних изысканий методом проб и ошибок.
Если вам потребуется просуммировать все разделенные (ничейные) результаты, можно воспользоваться обычной функцией СУММЕСЛИ, а не формулой массива (рис. 7.9).
Рис. 7.9. Формула суммирует три минимальных балла, в том числе равные
Следующий пример демонстрирует использование функции НАИБОЛЬШИЙ (рис. 7.10). Цель – суммировать три самых длительных полета бумеранга у каждого участника.
Рис. 7.10. Массив констант в аргументе k функции НАИБОЛЬШИЙ
А что, если вы хотите, чтобы формула суммировала переменное число максимальных или минимальных значений? На рис. 7.11 приведены две формулы, которые суммируют три наибольших значения. Формула [1] исключает деленные третьи значения, формула [2] включает таковые. Отличие этих формул от рассмотренных ранее заключается в том, что число максимальных значений не жестко зашито в формулу, а определяется значениями в ячейках D3 и D6. При изменении чисел в ячейках D3 и D6, сумма в ячейках Е3 и Е6 будет изменяться. На рис. 7.12 показаны суммы для двух максимальных значений.
Рис. 7.11. Если изменить значения в ячейках D3 и D6, формула вернет новое значение
Рис. 7.12. Формулы 1 и 2 дают одинаковые результаты для двух максимальных значений, так как среди вторых значений нет одинаковых
Формула [2], наверное, проста для понимания, а вот формула [1] содержит элементы, с которыми вы ранее не встречались. Используя функции СТРОКА и ДВССЫЛ можно создать динамический массив переменной длины из последовательных чисел. Начните ввод формулы с функции ДВССЫЛ (рис. 7.13). ДВССЫЛ запрограммирована возвращать ссылку, заданную текстовой строкой. В нашем случае элемент аргумент ссылка_на_ячейку "
1:"
&D3 представляет собой ссылку на строки 1:3. Чтобы убедиться в этом, выделите этот элемент и нажмите F9.
Рис. 7.13. Конкатенация "
1:"
и D3 (слева) дает ссылку на строки "
1:3"
(справа)
Если вы захотите оценить, что возвращает формула =ДВССЫЛ("
1:"
&D3), выделите ее целиком и нажмете F9 (рис. 7.14), то получите ошибку «Формула слишком длинная. Ее длина не должна превышать 8192 знака».
Рис. 7.14. При оценке формулы =ДВССЫЛ("
1:"
&D3) возвращается ошибка
Ошибку вызвана тем, что ссылка на строки 1:3 содержит все ячейки в строках с 1 по 3. На листе Excel (начиная с версии 2007) 16 384 столбца, т.е. в трех строках содержится 49 152 ячейки. Сама по себе функция ДВССЫЛ не содержит ошибки, поэтому если поместить ее в качестве аргумента функции СТРОКА, вы получите требуемый результат (рис. 7.15). Заметим, что аргумент функции СТРОКА ожидает одно значение. Вы же «подсовываете» ему 49 152 ссылки на ячейки. Правда все эти ссылки относятся к строкам 1, 2 и 3. Так что функция СТРОКА вернет массив {1:2:3} (убедитесь в этом, выделив целиком функцию СТРОКА, и нажав F9). Обратите внимание, что поскольку речь идет о строках, в синтаксисе массива в качестве разделителя присутствует двоеточие.
Рис. 7.15. Функция СТРОКА возвращает номер строки аргумента ссылка; поскольку ДВССЫЛ возвращает ячейки, относящиеся к строкам 1, 2 и 3, функция СТРОКА возвращает массив {1:2:3}
Итак, с помощью конструкции СТРОКА(ДВССЫЛ(…)) вам удалось создать аргумент k функции НАИБОЛЬШИЙ (рис. 7.16). Этот элемент формулы является динамичным. Если в ячейке D3 ввести значение 2, массив для k вернет {1;2}, а если 5, то – {1;2;3;4;5}.
Рис. 7.16. Аргументом k функции НАИБОЛЬШИЙ получает массив, созданный конструкцией СТРОКА(ДВССЫЛ(…))
Вы можете закончить ввод формулы путем размещения функции НАИБОЛЬШИЙ в качестве аргумента массив1 функции СУММПРОИЗВ. Мне СУММПРОИЗВ нравится больше, чем просто СУММ, поскольку первая не требует нажатия Ctrl+Shift+Enter, а вторая – требует.
Рис. 7.17. Завершите ввод формулы путем размещения функции НАИБОЛЬШИЙ в качестве аргумента массив1 функции СУММПРОИЗВ
Мы только что разобрали трюк, который можно назвать «массив последовательных чисел переменной длины» (рис. 7.18).
Рис. 7.18. Формула мгновенно отработает, если в ячейке D3 ввести новое значение, например, 5
Примечание: функция ДВССЫЛ является летучей (англ. – volatile). Функции этого класса пересчитываются при любом изменении в Excel. Пересчет может быть запущен, например, вставкой новой строки или изменением формата ячейки (даже в другой книге). Для сравнения, функция СУММ пересчитывается только если изменилось какое-либо значение, на которое ссылается СУММ. Вследствие этого свойства волатильные функции увеличивают время расчета формул. Вы узнаете больше о пересчете формул в главе 13.
Прежде чем перейти к следующей формуле массива, хочу познакомить вас с инструментом Excel –Таблица (рис. 7.19). [1] Для создания таблицы встаньте на любую ячейку в диапазоне А1:В8 и пройдите по меню: Главная → Стили → Форматировать как таблицу (или нажмите Ctrl+T; Т – английское). Далее в меню Конструктор область Параметры стилей таблицы поставьте галочку напротив Строка итогов. Примените фильтр в колонке Объем продаж: Числовые фильтры → Первые 10, задайте 3 наибольших элемента списка. К сожалению, отфильтрованный список будет включать дубли, так как третье наибольшее значение представлено двумя строками.
Рис. 7.19. Использование инструмента Таблице для отбора трех максимальных значений
Рассмотрим еще один пример того, как можно использовать массив констант. В главе 3 мы вывели формулу для расчета стоимости товара с учетом скидок. При этом четыре значения скидок были размещены каждая в своей ячейке. Попробуем решить задачу, когда четыре значения скидок размещены в одной ячейке (рис. 7.20).
Рис. 7.20. Значения скидок размещены в одной ячейке в виде текстовой строки
В одной ячейке нужно последовательно:
Извлечь числа из текстовой строки | {" 20" ;" 05" ;" 10" ;" 20" } |
Разделить на 100 | {0,20;0,05;0,10;0,20} |
Вычисление коэффициента | (1-0,20)*(1-0,05)*(1-0,10)*(1-0,20) |
Вычисление коэффициента | 0,80*0,95*0,90*0,80=0,5472 |
Чистая стоимость | $37*0,5472=$20,25 |
Чтобы одновременно извлечь четыре числа из текстовой строки, можно использовать массив констант в аргументе начальная_позиция функции ПСТР (рис. 7.21). Функция ПСТР возвращает заданное число знаков из строки текста, начиная с указанной позиции. Обычно аргумент начальная_позиция содержит один элемент. Например, если вы ввели формулу =ПСТР(C3;4;2), функция вернет два символа, начиная с 4-го из ячейки С3.
Рис. 7.21. Массив констант в аргументе начальная_позиция функции ПСТР
Однако, в нашем примере, вы вводите четыре значения в аргумент начальная_позиция. Поэтому функция ПСТР вернет четыре результата. Убедитесь в этом, выделив целиком функцию ПСТР и нажав F9 (рис. 7.22). Обратите внимание, что функция ПСТР возвращает текстовые элементы. Это не помешает нам, потому что на следующем шаге мы выполним с этим массивом математические операции, что автоматически приведет к преобразованию текста в числа.
Рис. 7.22. Убедитесь в том, что функция ПСТР возвращает массив, выделив ее и нажав F9
На следующем шаге разделите массив на 100, а затем вычтете результат из единицы (рис. 7.23). Поскольку деление будет выполняться первым, вам не нужны дополнительные скобки. Оцените получившуюся формулу, выделив ее и нажав F9.
Рис. 7.23. Деление на 100 преобразует текст, извлеченный функцией ПСТР, в число
Завершите ввод формулы, умножая элементы массива, полученного на предыдущем шаге, с помощью функции ПРОИЗВЕД; далее умножьте на цену по прайс-листу, и наконец округлите результат до двух знаков после запятой (рис. 7.24). Поскольку вы использовали массив констант в аргументе функции ПСТР, ввод формулы не требует Ctrl+Shift+Enter.
Рис. 7.24. Формула для вычисления чистой стоимости
Использование массива констант в функции ВПР для экономии места. На рис. 25 показано типичное применение функции ВПР (первая колонка в таблице F2:G5 отсортирована, поэтому ВПР ищет лишь приблизительное совпадение). Если вы предполагаете, что данные в таблице подстановки (F2:G5) меняться не будут и вам неудобно, чтобы таблица занимала место на листе, вы можете ввести код таблицы жестко в формулу. Проблема с жестким кодированием массива констант в формуле ВПР заключается в относительно большом объеме ввода (массив нужно поместить в фигурные скобки, текст – в кавычки, а также ввести «тучу» разделителей). Можно использовать небольшую хитрость: если таблица у вас уже есть, создайте обычную ВПР, а потом выделите аргумент таблица и нажмите F9. Вы преобразуете ссылку на диапазон в массив констант (рис. 7.26). Вы можете затем скопировать формулу ВПР вниз по колонке и удалить таблицу подстановки.
Рис. 7.25. Если данные в таблице подстановки могут меняться, обычная ВПР со ссылками на ячейки – отличный выбор
Рис. 7.26. Выделите аргумент таблица и нажмите F9; вы преобразуете ссылку на диапазон в массив констант
Еще одна возможность сэкономить пространство на листе – присвоить массиву констант имя, а затем использовать это имя в формулах. Чтобы поименовать массив констант, перейти на вкладку Формулы и щелкните Диспетчер имен (или нажмите Ctrl+F3), далее нажмите кнопку Создать. В открывшемся диалоговом окне Создание имени задайте имя, область применения имени и диапазон (в нашем случае, это не ссылка на ячейки, а массив констант). Можете воспользоваться хитростью, описанной выше, чтобы не набирать массив констант с клавиатуры (рис. 7.27).
Рис. 7.27. Присвоение имени массиву констант
Вы можете использовать это имя в качестве аргумента функции ВПР (рис. 7.28). Обратите внимание, что =ВПР(A2;ТоварЦена;2) не является формулой массива.
Рис. 7.28. Имя ТоварЦена содержит массив констант
Вы только что использовали два элемента (массив констант и определенное имя) в качестве аргумента Таблица функции ВПР. А как насчет других аргументов ВПР? Могут ли они содержать массив констант и/или операции с массивами? Как вы видели в главе 6, аргумент искомое_значение не может обрабатывать массивы. А аргумент номер_столбца? Может ли он обрабатывать массив?
На рис. 7.29 (диапазон А1:Н4) показана таблица подстановки с названиями товаров в первом столбце (отсортированы по алфавиту) и компонентами затрат в столбцах 2–8. Цель формулы – сложить затраты по столбцам 2, 4, 5, 7 и 8. Вы можете использовать массив констант в качестве аргумента номер_столбца функции ВПР, чтобы получить на выходе функции сразу пять значений затрат. Вы можете увидеть это, если выделите функцию ВПР и нажмете F9 (рис. 7.30).
Рис. 7.29. Поместите в аргумент номер_столбца функции ВПР массив констант номеров столбцов
Рис. 7.30. Так как аргумент номер_столбца содержит пять элементов, функция ВПР вернет пять значений
Если вы введете формулу =СУММ(ВПР(A7;A2:H4;{2;4;5;7;8})) простым нажатием Enter, то получите неверный ответ (рис. 7.31). Видно, что функция СУММ обработала только первый элемент массива {1,35;2,15;3;2;4}, возвращенный функцией ВПР. Чтобы получить корректный результат введите формулу в ячейку используя Ctrl+Shift+Enter (рис. 7.32). Если вам хочется сэкономить на нажатии трех клавиш, поместите ВПР внутрь СУММПРОИЗВ (рис. 7.33).
Рис. 7.31. Ввод формулы с помощь Enter дает ошибочный результат
Рис. 7.32. Независимо от того, содержит ли аргумент номер_столбца функции ВПР массив констант или ссылку на диапазон, ввод формулы требует нажатия Ctrl+Shift+Enter
Рис. 7.33. Когда вы помещаете ВПР внутрь СУММПРОИЗВ, вам не нужно нажимать Ctrl+Shift+Enter
Итак, получается, что некоторые аргументы функции, которые могут содержать массив констант, не требуют использования Ctrl+Shift+Enter (например, массив в НАИМЕНЬШИЙ и НАИБОЛЬШИЙ, текст в ДЛСТР, логическое_значение в ИЛИ), а некоторые – требуют (например, номер_столбца в ВПР).
До сих пор в этой главе вы использовали массивы констант в качестве аргументов функций. Массивы констант также могут использоваться в математических операциях и операциях сравнения массивов. При этом, если используется только массив констант, формула не требует нажатия Ctrl+Shift+Enter (рис. 7.34–7.36). Если также используется и массив в виде ссылок на диапазон, ввод формулы требует нажатия Ctrl+Shift+Enter (рис. 7.37).
Рис. 7.34. Формула массива (в ячейке С2) спрашивает: «равно ли содержимое ячейки В2 одному из значений: V.P., President или Admin?»; операция сравнения включает в себя операцию с массивом констант в аргументе логическое_значение1 функции ИЛИ и не требует нажатия Ctrl+Shift+Enter
Рис. 7.35. Формула массива рассчитывает ценовой коэффициент [2] на основании значений отдельных скидок; выполнена математическая операция умножения с использованием массива констант в аргументе число1, что не требует нажатия Ctrl+Shift+Enter
Рис. 7.36. Формула умножает два массива констант и затем суммирует результаты произведения (я не думаю, что вы будет использовать такую формулу, но я включил ее, чтобы проиллюстрировать работу массива констант); математическая операция с массивами констант помещена в аргумент число1 функции СУММ и не требует нажатия Ctrl+Shift+Enter
Рис. 7.37. Формула перемножает массивы ссылок и констант и затем суммирует результаты произведения (лучше использовать функцию СУММПРОИЗВ; я включил эту формулу, чтобы проиллюстрировать работу массива констант); математическая операция включает в себя не только массив констант, но и ссылку на диапазон ячеек, и она требует нажатия Ctrl+Shift+Enter
Резюме главы
- Массивы константы можно использовать, как в обычных, так и в формулах массива
- Синтаксис массивов констант: фигурные скобки в начале и в конце массива; точка с запятой разделяет элементы в строке, двоеточие – одну строку от другой; текстовые элементы помещаются в двойные кавычки, а числа, логические значения и значения ошибок – без кавычек
- Используются три типа массивов констант: вертикальные, горизонтальные, прямоугольные
- Массив констант не может содержать более 8192 символов
- Для ввода формулы массива:
- Если используется только массив констант, Ctrl+Shift+Enter не требуется
- Некоторые аргументы функций при размещении в них массива констант не требуют Ctrl+Shift+Enter (например, массив в НАИМЕНЬШИЙ и НАИБОЛЬШИЙ, текст в ДЛСТР, логическое_значение в ИЛИ, начальная_позиция в ПСТР, число1 в ПРОИЗВЕД и СУММ)
- Некоторые аргументы функций требуют нажатия Ctrl+Shift+Enter, если они содержат массив констант (например, аргумент номер_столбца в ВПР)
- Золотое правило Excel в отношении формул массива можно дополнить следующим:
- Если данные не будут меняться и вы экономите место на листе, используйте массив констант
- Поименуйте массив констант и используйте его имя в формулах
[2] Ценовой коэффициент – число от 0 до 1, на которое надо умножить цену по прайс-листу, чтобы учесть все скидки
Подстановка «из ниоткуда»
Это несложный, но интересный прием, позволяющий подставлять данные из небольших таблиц без использования ячеек вообще. Его суть в том, что можно «зашить» массив подстановочных значений прямо в формулу. Рассмотрим несколько способов это сделать.
Функция ВЫБОР
Если нужно подставить данные из одномерного массива по номеру, то можно использовать функцию ИНДЕКС или ее более простой и подходящий, в данном случае, аналог – функцию ВЫБОР (CHOOSE). Она выводит элемент массива по его порядковому номеру. Так, например, если нам нужно вывести название дня недели по его номеру, то можно использовать вот такую конструкцию
Это простой пример для начала, чтобы ухватить идею о том, что подстановочная таблица может быть вшита прямо в формулу. Теперь давайте рассмотрим пример посложнее, но покрасивее.
Массив констант в формуле
Предположим, что у нас есть список городов, куда с помощью функции ВПР (VLOOKUP)
подставляются значения коэффициентов зарплаты из второго столбца желтой таблицы справа:
Хитрость в том, что можно заменить ссылку на диапазон с таблицей $E$3:$F$5 массивом констант прямо в формуле, и правая таблица будет уже не нужна. Чтобы не вводить данные вручную можно пойти на небольшую хитрость.
Выделите любую пустую ячейку. Введите с клавиатуры знак «равно» и выделите диапазон с таблицей – в строке формул должен отобразиться его адрес:
Выделите с помощью мыши ссылку E3:F5 в строке формул и нажмите клавишу F9 – ссылка превратится в массив констант:
Осталось скопировать получившийся массив и вставить его в нашу формулу с ВПР, а саму таблицу удалить за ненадобностью:
Массив констант с именем
Развивая идею предыдущего способа, можно попробовать еще один вариант – сделать именованный массив констант в оперативной памяти, который использовать затем в формуле. Для этого нажмите на вкладке Формулы (Formulas) кнопку Диспетчер Имен (NameManager). Затем нажмите кнопку Создать, придумайте и введите имя (пусть будет, например, Города) и в поле Диапазон (Reference) вставьте скопированный в предыдущем способе массив констант:
Нажмите ОК и закройте Диспетчер имен. Теперь добавленное имя можно смело использовать на любом листе книги в любой формуле – например, в нашей функции ВПР:
Компактно, красиво и, в некотором смысле, даже защищает от шаловливых ручек непрофессионалов
Ссылки по теме
-
Как использовать функцию ВПР (VLOOKUP) для подстановки данных из одной таблицы в другую
-
Как использовать приблизительный поиск у функции ВПР (VLOOKUP)
-
Вычисления без формул
Excel is among the most powerful and widely used spreadsheet tools which eases organizing numbers and data within the sheets with pre-built formulas and functions. In this article, we are going to study Array Formulas. Arrays are one of them. Using Excel Array Formulas, make it super easy to handle a lot of data. Before understanding and using the Array formulas, let’s first understand what is Array in Excel?
Array in Excel
An Array in Excel is the structure that holds a collection of data. These data can be in the form of numbers or texts. There could be an array of 1-D or 2-D as well in Excel. For example, the array of fruits in excel would be written something like this:-
{“Apple”, “Banana”, “Grapes”, “Guava”}
We can directly enter it into the sheet by selecting the cells where you want to enter the data and then writing the array preceded by an “=” sign. After these press Ctrl+Shift+Enter. For example, let’s enter these values in cells A1 to D1.
The array created here is a horizontal array. You can also create a vertical array by changing the selected cells. You can create an array by specifying the starting and the ending positions, for example, if you wish to make an array of elements between A1 to F1 then you can write A1:F1. Now. let’s move to array formulas.
Array formulas
Array formulas enable to process of several values and give several outputs. In a simple world, it can do multiple calculations and reduce a lot of human efforts. In other words, we can say that it solves array calculations and give an array as output too. Let’s understand more of them with an example, of students with their test marks,
Here, we have used a formula to evaluate the result in the ‘Total’ field. For inserting the formula, click on the cell where you want to store the answer and write the formula. Now, let’s try to calculate the same for all students
For calculating the total for all the students, select the field where you want to store them, now select the range, and insert the formula. Array formulas are available in every version of Excel, so you don’t worry about your excel version. There are hundreds of operations possible using array formulas, which we will discuss in this article later. But before proceeding let’s understand what is the need to use an array formula.
Why use an Array Formula?
Array formulas are to most powerful yet most easy-to-use calculation tools which could be used to perform complex calculations and take place of hundreds of formulas with a single formula. You can further specify conditions for the calculation of data. Not just calculations you can also count the chars in cells, add date, day, or time, and even pick random data.
How to insert an Array Formula?
Before entering the Array formula fir of all we understand some important points about the Array formula:
- After typing the formula you have to press keys CTRL+SHIFT+ENTER together. It will automatically change the normal formula into an array formula.
- If you manually type braces around the formula then it will not convert the formula into an array formula. You have to use CTRL+SHIFT+ENTER keys to convert the formula into an array formula.
- Whenever you edit the array formula the braces will disappear automatically and you have to again press the combination of CTRL+SHIFT+ENTER keys.
- If you forget to press the CTRL+SHIFT+ENTER keys then your formula will work as the normal formula.
Now let’s understand inserting an array formula.
Single Cell Array formula
Every array formula returns the result in either single or in multiple cells. So when an array formula returns its result in the single-cell then such type of formula is known as a single-cell array formula. Such types of formulas are SUM, AVERAGE, AGGREGATE, MAX, MIN, etc. Follow the following steps to use the single-cell array formula:
Step 1: Select the cell where you want to store the answer.
Step 2: Now go to the formula bar and write an “=” sign.
Step 3: Now to formulas (highlighted below), and select the operation you want to perform.
Step 4: Here we want to perform the sum operation. Click on sum and a new popup will open. Write the cells you want to perform the operation with.
Multi-Cell Array Formula
If you wish to perform the same calculation with more cells then you can use the multi-cell formula. You can implement it in two ways. Functions like TRANSPOSE, TREND, FREQUENCY, LINEST, etc are used for the multi-cell arrays. Implement the formula in single-cell by following the above steps. Now, drag the selection up to the cells you want to implement the formula. Below is the implementation of doing that.
Alternatively,
Specify the range of cells and an operator between them. For example, =(B1:B7 + C2:C7) and press Ctrl+Shift+Enter.
Excel Array Constants
Excel array contacts are a set of static values and can’t be changed. These values remain constant regardless of the operations performed on them. Now we will see how to create Array Constants in Excel and will perform different actions on them. There are three types of array constant available:
1. Horizontal or Row Array constant
A horizontal constant is present in a row. To create a horizontal constant we have to type multiple values separated by a comma in the enclosed braces. To enter a row array follow these steps below:
Step 1: Select the cells you want to work with.
Step 2: Go to the formula bar and start with an equal sign.
Step 3: Now enter the array you want to create in braces {}, separated by commas(,). Ex:- ={1,2,3,4,5}
Step 4: Now press Ctrl+Shift+Enter.
2. Vertical or Column Array
Vertical array constants are generally present in Column Array. To create a vertical constant we have to type multiple values separated by a semicolon in the enclosed braces. To enter a column array follow these steps below:
Step 1: Select the cells you want to work with.
step 2: Go to the formula bar and start with an equal sign.
Step 3: Now enter the array you want to create in braces {} separated with termination sign(;). Ex:- ={“Coding”;”GFG”;”GeeksforGeeks”}
Step 4: Now press Ctrl+Shift+Enter.
3. 2-D array
In Excel, you are allowed to create a 2-D array. So to create a 2-D array constant, we have to type multiple values in which rows are separated by semicolons and d columns are separated by commas. Let’s understand the implementation of a 2-d array.
Step 1: Select the cells you want to work with.
Step 2: Go to the formula bar and start with an equal sign.
Step 3: Now enter the array you want to create in braces {} separated with commas(,) for entering the values in same row, termination sign(;) for row change. Ex:- ={1,2,3;”Coding”,”GFG”,”GeeksforGeeks”}
Step 4: Now press Ctrl+Shift+Enter.
Working with Constant arrays
In the Excel formula, array constants are the important part. Some of the important concepts of Array constant are:
1. Elements: To create elements of array constant we have to follow the following points:
- The elements of an array constant must be of numeric, alphabetic, boolean, or scientific notation and each of them is separated by commas or semicolons.
- The elements of an array constant do not contain an array, cell reference, dates functions formulas, defined names, etc.
- You can also be allowed to use text in the array of the element but the text is surrounded by hyphens(“”).
2. Naming Array Constants: You can name any array and use them as a variable for further references. For naming an array, follow the steps below:
- Go to the formula tab. and select Define Name.
- Write the array name in the name. You can also add some comments related to your array.
- Click on OK.
3. Common Errors: Following are the common errors that will happen while working with array constants:
- The use of delimiters in between the elements.
- The selection of range is also an important point to remember.
Unary Operator in Excel Array Formulas
Using unary operators we can process the array using AND and OR operators.
- AND: It is denoted by an asterisk(*) symbol. It returns true if and only if all conditions are true,
- OR: It is denoted by a plus(+) symbol. It returns true if any of the statement is true.
These operators are more useful when you have the same variable with a different value. For example, let’s consider a case, where data of 3 sellers of different months are given and you have to how much Shyam sold potatoes.