Тема
Функции работы с массивами
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—AVERAGE2—COUNT3—COUNTA4—MAX5—MIN6—PRODUCT7—STDEV8—STDEVP9—SUM10—VAR11—VARP101–111— те же функции, игнорируя скрытые вручную строки (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) | — |