1. Главная страница
  2. ››
  3. Формулы
  4. ››
  5. MAKEARRAY • создаем массив - Upline Studio

MAKEARRAY • создаем массив - Upline Studio

Команда

MAKEARRAY

Перевод на русский

Создать массив.

Описание

Функция возвращает массив заданных параметров со значениями, рассчитанными с помощью функции LAMBDA.

Тип функции

Работа с массивами / Array

Синтаксис

На русском

MAKEARRAY(число_строк; число_столбцов; LAMBDA)
Замечание для новичков

Выбор запятой или точки c запятой между аргументами формулы определяется не тем, на каком языке записана команда, а языковой версией Google Таблиц как таковых. Если у вас русскоязычные Google Таблицы, то команду вы можете записать и на русском, и на английском языке — Google Таблицы её просто сами переведут. Но вот разделителем должна быть точка с запятой, иначе вы получите синтаксическую ошибку.

На английском

MAKEARRAY(rows, columns, LAMBDA)

Пояснения:

MAKEARRAY(строки, столбцы, LAMBDA)

  • строки – количество строк, которое требуется вернуть.
  • столбцы – количество столбцов, которые требуется вернуть.
  • LAMBDA – лямбда-функция, которая применяется для создания массива.
    • Требования:
    • Лямбда-функция должна иметь ровно два аргумента "имя", а также формулу, в которой эти имена используются. При применении лямбда-функции аргумент "имя1" определяет текущий индекс строки, а аргумент "имя2" определяет текущий индекс столбца.

Примечания

  • Переданная лямбда-функция должна принимать ровно два аргумента "имя", в противном случае возникает ошибка #N/A. Эти аргументы относятся к индексу строки и индексу столбца в порядке следования. Что означает каждый аргумент:
    • имя1 – определяет текущий индекс строки, для которого создается значение.
    • имя2 – определяет текущий индекс столбца, для которого создается значение.
  • Любое значение, получаемое при помощи применения лямбда-функции к индексам, должно представлять собой одиночное значение. Результаты вложенных массивов не поддерживаются.
  • Индекс строки и индекс столбца начинаются с 1.
  • Именованная функция может выступать в качестве параметра лямбда-функции и в этом случае обладает всеми ее свойствами. Подробнее об именованных функциях
    • При наличии именованной функции для функции 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 с произведением в ячейках

Возврат массива 2×3 со значением ячейки, равным произведению индексов строки и столбца

Иллюстрация к функции MAKEARRAY Google Таблиц. Массив 2×3 с произведением в ячейках
Иллюстрация к функции MAKEARRAY Google Таблиц. Массив 2×3 с произведением в ячейках

Формула из примера в ячейке A2: 

=MAKEARRAY(2; 3; LAMBDA(индекс_строки; индекс_столбца; индекс_строки*индекс_столбца))

Массив 2×3 с произвольными числами

Возврат массива 2×3 с произвольными числами от 1 до 100

Иллюстрация к функции MAKEARRAY Google Таблиц. Массив 2×3 с произвольными числами
Иллюстрация к функции MAKEARRAY Google Таблиц. Массив 2×3 с произвольными числами

Формула из примера в ячейке A2:

 =MAKEARRAY(2; 3; LAMBDA(индекс_строки; индекс_столбца; СЛУЧМЕЖДУ(1;100)))

В этом примере функция создает неупорядоченный массив 2×3 с числами в ячейках от 1 до 100.

Массив 4×4 с использованием именованной функции

Использование именованной функции в качестве лямбда-функции для возврата массива 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.

Результат:

Распространенные ошибки

  1. Переданная лямбда-функция не имеет ровно два аргумента "имя"
  2. Если лямбда-функция не имеет ровно два аргумента "имя", возникает следующая ошибка:

    "Неверное количество аргументов лямбда-функции: 2 вместо 3".

    Пример: =MAKEARRAY(2, 3, LAMBDA(текущее_значение, текущее_значение+1))

    В этом примере для лямбда-функции задан только один аргумент "имя" при требуемых двух.

  1. Последний параметр функции MAKEARRAY не является лямбда-функцией
  2. Если последний параметр функции MAKEARRAY не является лямбда-функцией, возникает следующая ошибка:

    "Аргумент должен быть лямбда-функцией".

    Пример: =MAKEARRAY(2, 3, 3)

  1. Лямбда-функция, переданная функции MAKEARRAY, неверна
  2. Если лямбда-функция, переданная функции MAKEARRAY, неверна из-за недействительных аргументов "имя", возникает следующая ошибка:

    "Аргумент 1 лямбда-функции является недопустимым именем".

    Пример: =MAKEARRAY(2,3, LAMBDA(C1, v, C1*v))

    В этом примере С1 является недопустимым именем, поскольку конфликтует с диапазоном.

  1. При применении лямбда-функции к строке и столбцу создаются несколько значений
  2. Если при применении лямбда-функции к строке и столбцу создаются несколько значений, возникает следующая ошибка:

    "Необходимо указать одиночное значение. Результаты из вложенных массивов не поддерживаются".

    Пример: =MAKEARRAY(2,3, LAMBDA(i, j, {i, j} ))

    При каждом применении лямбда-функции к индексу строки и индексу столбца должно создаваться одиночное значение, но не ещё один массив.

Сопутствующие функции

  • Функция LAMBDA — позволяет создать специальную функцию с набором имен и формулой, в которой они используются.
  • Функция MAP » сопоставляет каждое значение в выбранных массивах с новым значением.
  • Функция SCAN » сканирует массив и выводит промежуточные значения.

Другие функции Google Таблиц

Другие примеры именованных функций

BYCOL » исходно тут была именованная функция

BYROW » исходно тут была именованная фукнция

MAP » сопоставляет каждое значение в выбранных массивах с новым значением.

REDUCE » преобразует массив в накопленный результат.

SCAN » сканирует массив и выводит промежуточные значения.

Источники

Google Sheets function list (на английском)

 

Logo Upline Studio Creatium

Наша команда Uplinestudio разрабатывает сайты под разные потребности клиентов. Одним из ключевых направлений в нашей разработке является создание сайтов на Creatium.

Оставить заявку

Работает на Creatium