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

    • СинтаксисLAMBDA(имя1, имя2, формула)
    • Требования:

      Лямбда-функция должна иметь ровно два аргумента "имя", а также формулу, в которой эти имена используются. При применении лямбда-функции аргумент "имя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)

Результат:

screenshot01

Создать английскую копию

Подсчёт количества сотрудников

Использование именованной функции в качестве лямбда-функции для подсчета количества сотрудников в определенном квартале определенного года.

Создать копию

Пример данных:

screenshot02

В массиве 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.

Результат:

screenshot04

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

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

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

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

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

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

  2. Последний параметр функции MAKEARRAY не является лямбда-функцией

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

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

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

  3. Лямбда-функция, переданная функции MAKEARRAY, неверна

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

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

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

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

  4. При применении лямбда-функции к строке и столбцу создаются несколько значений

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

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

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

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

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

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

Список функций

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

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

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

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

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

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

Источники

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

Список функций Google Таблиц (на русском)

MAKEARRAY function

Logo Upline Studio Creatium

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

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

Работает на Creatium