Перейти к содержимому

Функции работы с массивами

TAKE

TAKE(массив; строки; [столбцы])

Возвращает указанное количество строк или столбцов из массива.

Аргументы

АргументТипОбязательный
массивМассивДа
строкиЧислоДа
столбцыЧислоНет

Примеры

ФормулаРезультат
TAKE({1\ 2\ 3; 4\ 5\ 6}; 1){1\ 2\ 3}

ARRAY_CONSTRAIN

ARRAY_CONSTRAIN(диапазон; число_строк; число_столбцов)

Возвращает левый верхний подмассив заданного размера (функция Google Sheets). Эквивалентна TAKE для положительных размеров: если запрошено больше строк/столбцов, чем есть, возвращается всё измерение.

DROP

DROP(массив; строки; [столбцы])

Исключает строки или столбцы из массива.

Аргументы

АргументТипОбязательный
массивМассивДа
строкиЧислоДа
столбцыЧислоНет

Примеры

ФормулаРезультат
DROP({1\ 2\ 3; 4\ 5\ 6}; 1){4\ 5\ 6}

CHOOSECOLS

CHOOSECOLS([аргументы...])

Возвращает указанные столбцы из массива.

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
CHOOSECOLS({1\ 2\ 3; 4\ 5\ 6}; 1; 3){1\ 3; 4\ 6}

CHOOSEROWS

CHOOSEROWS([аргументы...])

Возвращает указанные строки из массива.

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
CHOOSEROWS({1\ 2\ 3; 4\ 5\ 6}; 1){1\ 2\ 3}

EXPAND

EXPAND(массив; [строки]; [столбцы]; [заполнитель])

Расширяет массив или дополняет его значениями.

Аргументы

АргументТипОбязательный
массивМассивДа
строкиЧислоНет
столбцыЧислоНет
заполнительЛюбоеНет

Примеры

ФормулаРезультат
EXPAND({1\ 2; 3\ 4}; 3; 3)

ГСТОЛБИК (HSTACK)

ГСТОЛБИК([массивы...])

Объединяет массивы по горизонтали.

Аргументы

АргументТипОбязательный
массивыМассивНет (можно несколько)

Примеры

ФормулаРезультат
ГСТОЛБИК({1; 2}; {3; 4}){1\ 3; 2\ 4}

ВСТОЛБИК (VSTACK)

ВСТОЛБИК([массивы...])

Объединяет массивы по вертикали.

Аргументы

АргументТипОбязательный
массивыМассивНет (можно несколько)

Примеры

ФормулаРезультат
ВСТОЛБИК({1\ 2}; {3\ 4}){1\ 2; 3\ 4}

TOCOL

TOCOL(массив; [пропуск]; [обход_по_столбцам])

Преобразует массив в один столбец.

Аргументы

АргументТипОбязательный
массивМассивДа
пропускЛюбоеНет
обход_по_столбцамЛогическийНет

Примеры

ФормулаРезультат
TOCOL({1\ 2; 3\ 4}){1; 2; 3; 4}

TOROW

TOROW(массив; [пропуск]; [обход_по_столбцам])

Преобразует массив в одну строку.

Аргументы

АргументТипОбязательный
массивМассивДа
пропускЛюбоеНет
обход_по_столбцамЛогическийНет

Примеры

ФормулаРезультат
TOROW({1; 2; 3}){1\ 2\ 3}

FLATTEN

FLATTEN([массивы...])

Объединяет одно или несколько значений, диапазонов или массивов в один столбец, считывая элементы построчно (слева направо, сверху вниз). В отличие от TOCOL, принимает несколько аргументов и включает пустые ячейки.

Аргументы

АргументТипОбязательный
массивыМассивНет (можно несколько)

Примеры

ФормулаРезультат
FLATTEN({1\ 2; 3\ 4}){1; 2; 3; 4}
FLATTEN({1\ 2}; {3; 4}){1; 2; 3; 4}

WRAPCOLS

WRAPCOLS(вектор; размер_оборота; [заполнитель])

Преобразует вектор в массив, оборачивая его по столбцам.

Аргументы

АргументТипОбязательный
векторДиапазонДа
размер_оборотаЧислоДа
заполнительЛюбоеНет

Примеры

ФормулаРезультат
WRAPCOLS({1\ 2\ 3\ 4\ 5\ 6}; 3){1\ 4; 2\ 5; 3\ 6}

WRAPROWS

WRAPROWS(вектор; размер_оборота; [заполнитель])

Преобразует вектор в массив, оборачивая его по строкам.

Аргументы

АргументТипОбязательный
векторДиапазонДа
размер_оборотаЧислоДа
заполнительЛюбоеНет

Примеры

ФормулаРезультат
WRAPROWS({1\ 2\ 3\ 4\ 5\ 6}; 3){1\ 2\ 3; 4\ 5\ 6}

ТРАНСП (TRANSPOSE)

ТРАНСП(массив)

Транспонирует массив (меняет местами строки и столбцы).

Аргументы

АргументТипОбязательный
массивМассивДа

Примеры

ФормулаРезультат
ТРАНСП(A1:C2)

SEQUENCE

SEQUENCE(строки; [столбцы]; [начало]; [шаг])

Создаёт последовательность чисел.

Аргументы

АргументТипОбязательный
строкиЧислоДа
столбцыЧислоНет
началоЧислоНет
шагЧислоНет

Примеры

ФормулаРезультат
SEQUENCE(5){1; 2; 3; 4; 5}

ФИЛЬТР (FILTER)

ФИЛЬТР(массив; условие_включения; [если_пусто])

Фильтрует массив значений по списку логических значений.

Аргументы

АргументТипОбязательный
массивМассивДа
условие_включенияЛюбоеДа
если_пустоЛюбоеНет

Примеры

ФормулаРезультат
ФИЛЬТР(A1:C5; D1:D5)

SORT

SORT(массив; [индекс_сортировки]; [порядок_сортировки]; [по_столбцам])

Сортирует массив значений.

Аргументы

АргументТипОбязательный
массивМассивДа
индекс_сортировкиЧислоНет
порядок_сортировкиЧислоНет
по_столбцамЛогическийНет

Примеры

ФормулаРезультат
SORT(A1:A100)

SORTN

SORTN(массив; [число]; [режим_ничьих]; [столбец_сортировки]; [по_возрастанию])

Возвращает первые число строк массива после сортировки (функция Google Sheets).

  • число — сколько строк вернуть (по умолчанию 1, должно быть > 0).
  • режим_ничьих — обработка совпадений по столбцу сортировки (по умолчанию 0):
    • 0 — ровно число строк;
    • 1 — число строк плюс все строки с тем же значением столбца сортировки, что и у число-й строки;
    • 2 — убрать повторяющиеся строки, затем первые число;
    • 3 — первые число уникальных строк и все их полные дубликаты.
  • столбец_сортировки — индекс столбца сортировки (с 1, по умолчанию 1).
  • по_возрастанию — по возрастанию (TRUE, по умолчанию) или убыванию (FALSE).

Аргументы

АргументТипОбязательный
массивМассивДа
числоЧислоНет
режим_ничьихЧислоНет
столбец_сортировкиЛюбоеНет
по_возрастаниюЛогическийНет

Примеры

ФормулаРезультат
SORTN(A1:B10; 3)
SORTN(A1:B10; 3; 1; 2; FALSE)

ARRAY_CONSTRAIN

ARRAY_CONSTRAIN(диапазон; число_строк; число_столбцов)

Возвращает левый верхний подмассив заданного размера (функция Google Sheets). Эквивалентна TAKE для положительных размеров: если запрошено больше строк/столбцов, чем есть, возвращается всё измерение.

УНИК (UNIQUE)

УНИК(массив; [по_столбцам]; [только_уникальные])

Удаляет повторяющиеся строки или столбцы из массива.

Аргументы

АргументТипОбязательный
массивМассивДа
по_столбцамЛогическийНет
только_уникальныеЛогическийНет

Примеры

ФормулаРезультат
УНИК(A1:A100)

СУММПРОИЗВ (SUMPRODUCT)

СУММПРОИЗВ([массивы...])

Перемножает массивы поэлементно и возвращает сумму произведений.

Аргументы

АргументТипОбязательный
массивыМассивНет (можно несколько)

Примеры

ФормулаРезультат
СУММПРОИЗВ(C2:C5; D2:D5)

МОПРЕД (MDETERM)

МОПРЕД(массив)

Возвращает определитель матрицы.

Аргументы

АргументТипОбязательный
массивМассивДа

Примеры

ФормулаРезультат
МОПРЕД({1\ 2; 3\ 4})-2

МОБР (MINVERSE)

МОБР(массив)

Возвращает обратную матрицу.

Аргументы

АргументТипОбязательный
массивМассивДа

Примеры

ФормулаРезультат
МОБР({1\ 2; 3\ 4})

МУМНОЖ (MMULT)

МУМНОЖ(массив1; массив2)

Возвращает матричное произведение двух массивов.

Аргументы

АргументТипОбязательный
массив1МассивДа
массив2МассивДа

Примеры

ФормулаРезультат
МУМНОЖ({1\ 2; 3\ 4}; {5\ 6; 7\ 8}){19 \ 22; 43 \ 50}

RANDARRAY

RANDARRAY([строки]; [столбцы]; [минимум]; [максимум]; [только_целые])

Возвращает массив случайных чисел.

Аргументы

АргументТипОбязательный
строкиЧислоНет
столбцыЧислоНет
минимумЧислоНет
максимумЧислоНет
только_целыеЛогическийНет

Примеры

ФормулаРезультат
RANDARRAY(3; 2)

BYROW

BYROW([аргументы...])

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

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
BYROW({1\ 2; 3\ 4}; LAMBDA(row; СУММ(row)))

BYCOL

BYCOL([аргументы...])

Применяет лямбда-функцию к каждому столбцу массива.

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
BYCOL({1\ 2; 3\ 4}; LAMBDA(col; СУММ(col)))

MAKEARRAY

MAKEARRAY([аргументы...])

Создаёт массив, применяя лямбда-функцию к индексам.

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
MAKEARRAY(3; 3; LAMBDA(r; c; r * c))

MAP

MAP([аргументы...])

Применяет лямбда-функцию к каждому элементу массивов.

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
MAP({1\ 2; 3\ 4}; LAMBDA(x; x * 2))

REDUCE

REDUCE([аргументы...])

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

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
REDUCE(0; {1\ 2\ 3}; LAMBDA(acc; val; acc + val))

МЕДИН (MUNIT)

МЕДИН(размер)

Возвращает единичную матрицу указанного размера. Возвращает квадратную матрицу с единицами на главной диагонали и нулями в остальных ячейках.

Аргументы

АргументТипОбязательный
размерЧислоДа

Примеры

ФормулаРезультат
МЕДИН(3){1 \ 0 \ 0; 0 \ 1 \ 0; 0 \ 0 \ 1}

SCAN

SCAN([аргументы...])

Проходит по массиву, применяя лямбда-функцию к каждому элементу, и возвращает массив промежуточных значений.

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
SCAN(0; {1\ 2\ 3}; LAMBDA(acc; val; acc + val))

TRIMRANGE

TRIMRANGE(массив)

Обрезает пустые строки и столбцы по краям массива.

Удаляет строки сверху и снизу, а также столбцы слева и справа, которые полностью состоят из пустых ячеек или пустых строк.

Полезно для очистки диапазонов, в которых вокруг полезных данных есть лишнее пустое пространство.

Аргументы

АргументТипОбязательный
массивМассивДа

Примеры

ФормулаРезультат
TRIMRANGE(A1:E10)
TRIMRANGE({\ 1\ 2\ ; \ 3\ 4\ }){1 \ 2; 3 \ 4}

SORTBY

SORTBY([аргументы...])

Сортирует массив по значениям в одном или нескольких соответствующих диапазонах.

  • массив: сортируемый массив.
  • массив_сортировки1: первый диапазон значений, по которому выполняется сортировка.
  • порядок_сортировки1: необязательный. Направление сортировки:
    • 1 — по возрастанию (по умолчанию)
    • -1 — по убыванию
  • Дополнительные пары by_array/sort_order задают порядок разрешения совпадений.

Аргументы

АргументТипОбязательный
аргументыЛюбоеНет (можно несколько)

Примеры

ФормулаРезультат
SORTBY(A1:A10; B1:B10)
SORTBY(A1:C10; B1:B10; 1; C1:C10; -1)

GROUPBY

GROUPBY(поля_строк; значения; функция_агрегации; [обработка_заголовков]; [глубина_итогов]; [порядок_сортировки])

Группирует строки по заданным столбцам и применяет функцию агрегирования.

  • поля_строк: столбец или столбцы для группировки.
  • значения: агрегируемые значения.
  • функция_агрегации: номер функции агрегирования или функция LAMBDA. Номера:
    • 1 — AVERAGE
    • 2 — COUNT
    • 3 — COUNTA
    • 4 — MAX
    • 5 — MIN
    • 6 — PRODUCT
    • 7 — STDEV
    • 8 — STDEVP
    • 9 — SUM
    • 10 — VAR
    • 11 — VARP
    • 101111 — те же функции, игнорируя скрытые вручную строки (101 — AVERAGE, 102 — COUNT и т. д.)
  • обработка_заголовков: необязательный. Как трактовать заголовки:
    • 0 — без заголовков
    • 1 — есть, но не отображать
    • 2 — нет, но сгенерировать
    • 3 — есть и отображать (по умолчанию)
  • глубина_итогов: необязательный. Глубина итогов (0=без итогов, 1-127=глубина).
  • порядок_сортировки: необязательный. Порядок сортировки для группировки (0=сохранить исходный, иное значение=сортировать).

Аргументы

АргументТипОбязательный
поля_строкДиапазонДа
значенияЛюбоеДа
функция_агрегацииЛюбоеДа
обработка_заголовковЛюбоеНет
глубина_итоговЧислоНет
порядок_сортировкиЧислоНет

Примеры

ФормулаРезультат
GROUPBY(A2:A10; B2:B10; SUM)
GROUPBY(A2:A10; B2:B10; 9)
GROUPBY(A2:B10; C2:C10; AVERAGE)

PIVOTBY

PIVOTBY(поля_строк; поля_столбцов; значения; функция_агрегации; [обработка_заголовков]; [глубина_итогов_строк]; [порядок_сортировки_строк]; [глубина_итогов_столбцов]; [порядок_сортировки_столбцов])

Создаёт сводную таблицу, группируя данные по строкам и столбцам.

  • поля_строк: столбец или столбцы для группировки по строкам.
  • поля_столбцов: столбец или столбцы для группировки по столбцам.
  • значения: агрегируемые значения.
  • функция_агрегации: номер функции агрегирования (см. GROUPBY) или LAMBDA.
  • обработка_заголовков: необязательный. Обработка заголовков (0-3).
  • глубина_итогов_строк: необязательный. Глубина итогов по строкам.
  • порядок_сортировки_строк: необязательный. Порядок сортировки строк.
  • глубина_итогов_столбцов: необязательный. Глубина итогов по столбцам.
  • порядок_сортировки_столбцов: необязательный. Порядок сортировки столбцов.

Аргументы

АргументТипОбязательный
поля_строкДиапазонДа
поля_столбцовДиапазонДа
значенияЛюбоеДа
функция_агрегацииЛюбоеДа
обработка_заголовковЛюбоеНет
глубина_итогов_строкЧислоНет
порядок_сортировки_строкЧислоНет
глубина_итогов_столбцовЧислоНет
порядок_сортировки_столбцовЧислоНет

Примеры

ФормулаРезультат
PIVOTBY(A2:A10; B2:B10; C2:C10; SUM)
PIVOTBY(A2:A10; B2:B10; C2:C10; 9)
Была ли эта страница полезной?