MAKEARRAY
Создать массив.
Функция возвращает массив заданных параметров со значениями, рассчитанными с помощью функции LAMBDA.
Работа с массивами / Array
На русском
MAKEARRAY(число_строк; число_столбцов; LAMBDA)
Выбор запятой или точки c запятой между аргументами формулы определяется не тем, на каком языке записана команда, а языковой версией Google Таблиц как таковых. Если у вас русскоязычные Google Таблицы, то команду вы можете записать и на русском, и на английском языке — Google Таблицы её просто сами переведут. Но вот разделителем должна быть точка с запятой, иначе вы получите синтаксическую ошибку.
На английском
MAKEARRAY(rows, columns, LAMBDA)
Пояснения:
MAKEARRAY(строки, столбцы, LAMBDA)
строки
– количество строк, которое требуется вернуть.столбцы
– количество столбцов, которые требуется вернуть.LAMBDA
– лямбда-функция, которая применяется для создания массива.LAMBDA(имя1, имя2, формула)
Лямбда-функция должна иметь ровно два аргумента "имя", а также формулу, в которой эти имена используются. При применении лямбда-функции аргумент "имя1" определяет текущий индекс строки, а аргумент "имя2" определяет текущий индекс столбца.
#N/A
. Эти аргументы относятся к индексу строки и индексу столбца в порядке следования. Что означает каждый аргумент:имя1
– определяет текущий индекс строки, для которого создается значение.имя2
– определяет текущий индекс столбца, для которого создается значение.MAKEARRAY
должен использоваться синтаксис LAMBDA
, т. е. ей должно быть назначено два тега аргумента.MAKEARRAY(2, 3, LAMBDA(row_index, column_index, row_index+column_index))
MAKEARRAY(2, 3, LAMBDA(row_index, column_index, row_index*column_index))
или
MAKEARRAY(2; 3; LAMBDA(индекс_строки; индекс_столбца; индекс_строки+индекс_столбца))
MAKEARRAY(2; 3; LAMBDA(индекс_строки; индекс_столбца; индекс_строки*индекс_столбца))
Возврат массива 2×3 со значением ячейки, равным произведению индексов строки и столбца
Формула из примера в ячейке A2:
=MAKEARRAY(2; 3; LAMBDA(индекс_строки; индекс_столбца; индекс_строки*индекс_столбца))
Возврат массива 2×3 с произвольными числами от 1 до 100
Формула из примера в ячейке A2:
=MAKEARRAY(2; 3; LAMBDA(индекс_строки; индекс_столбца; СЛУЧМЕЖДУ(1;100)))
В этом примере функция создает неупорядоченный массив 2×3 с числами в ячейках от 1 до 100.
Использование именованной функции в качестве лямбда-функции для возврата массива 4×4 с каскадным расположением данных. Значение каждой последующей строки равняется значению предыдущей строки +1; начальное значение в строке 1 равняется 100.
Именованная функция WATERFALL
выводит значение, равное 100 + индекс строки — 1, если индекс строки ячейки меньше или равен индексу столбца. В п0ротивном случае ячейка остается пустой.
Определение формулы: =if(индекс_строки<=индекс_столбца, 100+индекс_строки-1, "")
, где индекс_строки
и индекс_столбца
— теги аргументов, назначенных функции WATERFALL
.
Пример формулы: =MAKEARRAY(4,4,WATERFALL)
Результат:
Использование именованной функции в качестве лямбда-функции для подсчета количества сотрудников в определенном квартале определенного года.
Пример данных:
В массиве A1:B2
перечислены сотрудники, которые пришли в компанию в определенном году. В массиве A5:B8
перечислены сотрудники, которые пришли в компанию в определенном квартале. Необходимо заполнить массив E2:H3
данными о количестве сотрудников, которые пришли в компанию в определенном квартале определенного года.
Именованная функция FIND_COMMON_EMPLOYEES_COUNT
выполняет подсчет сотрудников с учетом количества пришедших за квартал и индекса года.
Определение формулы: =COUNT(ARRAYFORMULA(MATCH(SPLIT(INDEX(Лист1!$B$5:$B$8, номер_квартала),","), SPLIT(INDEX(Лист1!$B$1:$B$2, индекс_года), ","), 0)))
, где индекс_года
и номер_квартала
– теги аргументов, назначенных функции FIND_COMMON_EMPLOYEES_COUNT
, идущие в указанном порядке.
Пример формулы: MAKEARRAY(2, 4, FIND_COMMON_EMPLOYEES_COUNT)
Введите эту формулу в E2.
Результат:
Если лямбда-функция не имеет ровно два аргумента "имя", возникает следующая ошибка:
"Неверное количество аргументов лямбда-функции: 2 вместо 3".
Пример: =MAKEARRAY(2, 3, LAMBDA(текущее_значение, текущее_значение+1))
В этом примере для лямбда-функции задан только один аргумент "имя" при требуемых двух.
Если последний параметр функции MAKEARRAY не является лямбда-функцией, возникает следующая ошибка:
"Аргумент должен быть лямбда-функцией".
Пример: =MAKEARRAY(2, 3, 3)
Если лямбда-функция, переданная функции MAKEARRAY, неверна из-за недействительных аргументов "имя", возникает следующая ошибка:
"Аргумент 1 лямбда-функции является недопустимым именем".
Пример: =MAKEARRAY(2,3, LAMBDA(C1, v, C1*v))
В этом примере С1 является недопустимым именем, поскольку конфликтует с диапазоном.
Если при применении лямбда-функции к строке и столбцу создаются несколько значений, возникает следующая ошибка:
"Необходимо указать одиночное значение. Результаты из вложенных массивов не поддерживаются".
Пример: =MAKEARRAY(2,3, LAMBDA(i, j, {i, j} ))
При каждом применении лямбда-функции к индексу строки и индексу столбца должно создаваться одиночное значение, но не ещё один массив.
BYCOL » исходно тут была именованная функция
BYROW » исходно тут была именованная фукнция
MAP » сопоставляет каждое значение в выбранных массивах с новым значением.
REDUCE » преобразует массив в накопленный результат.
SCAN » сканирует массив и выводит промежуточные значения.
Google Sheets function list (на английском)
Список функций Google Таблиц (на русском)
Простой текст
Работает на Creatium