Для построения формул массива иногда используют числовую последовательность, например {1:2:3:4:5:6:7}, вводимую непосредственно в формулу. Эту последовательность можно сформировать вручную, введя константу массива , или с использованием функций, например СТРОКА() . Также с помощью формул можно динамически изменять длину числовой последовательности.
Создание массива последовательных чисел
Сформируем массив последовательных чисел для решения конкретного примера: подсчитаем сумму 3-х наибольших значений .
Пусть исходный список содержит числовые значения (см. Файл примера ).
Сумму 3-х наибольших значений можно подсчитать с помощью формулы =СУММПРОИЗВ(НАИБОЛЬШИЙ(A2:A15;{1:2:3}))
Чтобы не вводить массив {1:2:3} вручную, можно использовать следующий подход. Введите в диапазон ячеек B1:B3 значения 1, 2 и 3 соответственно. Выделив любую пустую ячейку, в Строке формул введите =B1:B3, затем выделите B1:B3 и нажмите клавишу F9 . Формула B1:B3 будет заменена значениями, содержащимися в этих ячейках, т.е. {1:2:3} . Теперь достаточно скопировать этот массив в Буфер обмена ( CTRL+C ) и вставить его в нужную формулу.
Другим подходом для формирования числовой последовательности является использование формулы СТРОКА(A1:A3)
В итоге получим =СУММПРОИЗВ(НАИБОЛЬШИЙ(A2:A15;СТРОКА(A1:A3)))
Но у этого подхода есть два недостатка:
Массив последовательных чисел переменной длины можно сформировать с помощью формулы = СТРОКА(ДВССЫЛ("A1:A"&G2)) , где в ячейке G2 пользователем задается последний элемент последовательности (т.е. сумму скольких наибольших требуется найти). В итоге получим =СУММПРОИЗВ(НАИБОЛЬШИЙ(Список;СТРОКА(ДВССЫЛ("A1:A"&G2))))
В некоторых формулах массива требуется, чтобы размер массива последовательных чисел соответствовал размеру диапазона с данными. Это актуально, когда в этот диапазон постоянно добавляются значения.
Создадим Динамический диапазон Список ( =СМЕЩ(Лист1!$A$2;;;СЧЁТ(Лист1!$A$2:$A$15)) ), который будет содержать все значения исходного списка и автоматически расширяться при добавлении новых значений в столбец А . Введем 9 значений (см. рисунок выше).
Массив последовательных чисел будем формировать с помощью следующей формулы: СТРОКА(ДВССЫЛ("A1:A"&ЧСТРОК(Список)))
Здесь функция ЧСТРОК() возвращает количество значений в исходном списке (9). После выполнения функции СТРОКА() получим массив последовательных чисел {1:2:3:4:5:6:7:8:9} , причем этот массив будет динамическим: в зависимости от длины диапазона Список будет формироваться массив последовательных чисел соответствующего размера.
© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved
Комментарии