Этот сайт использует Яндекс.Метрику для анализа посещаемости. Подробнее
Формулы и функции

Вспомогательные функции LAMBDA в Excel: MAP, REDUCE, SCAN, BYROW, BYCOL, MAKEARRAY

forest_paw 06.09.2025 25

Вспомогательные функции ЛЯМБДА (LAMBDA) в Excel: MAP (MAP), REDUCE (REDUCE), SCAN (SCAN), BYROW (BYROW), BYCOL (BYCOL), MAKEARRAY (MAKEARRAY)

После внедрения функции ЛЯМБДА (LAMBDA) Microsoft представила набор мощных вспомогательных функций для работы с динамическими массивами. Эти инструменты — MAP (MAP), REDUCE (REDUCE), SCAN (SCAN), MAKEARRAY (MAKEARRAY), BYROW (BYROW), BYCOL (BYCOL) и ISOMITTED — кардинально расширяют возможности Excel для обработки данных, позволяя создавать сложные и эффективные вычисления без макросов.

Обзор новых функций ЛЯМБДА (LAMBDA)

Каждая из вспомогательных функций решает свою задачу в обработке диапазонов и массивов:

  • MAP (MAP) — применяет ЛЯМБДА (LAMBDA) к каждой ячейке в массиве или диапазоне и возвращает массив того же размера.
  • REDUCE (REDUCE) — выполняет ЛЯМБДА (LAMBDA) для каждой ячейки, используя переменную-аккумулятор, и возвращает одно итоговое значение.
  • SCAN (SCAN) — комбинация MAP (MAP) и REDUCE (REDUCE): показывает промежуточные значения аккумулятора после каждого шага.
  • MAKEARRAY (MAKEARRAY) — создает массив любого указанного размера, где каждая ячейка вычисляется по ЛЯМБДА (LAMBDA).
  • BYROW (BYROW) — заставляет ЛЯМБДА (LAMBDA) вычисляться для каждой строки в диапазоне.
  • BYCOL (BYCOL) — заставляет ЛЯМБДА (LAMBDA) вычисляться для каждого столбца в диапазоне.
  • ISOMITTED — проверяет, был ли пропущен необязательный аргумент в ЛЯМБДА (LAMBDA).

Применение MAP (MAP) для обработки массивов

Функция MAP (MAP) выполняет расчет ЛЯМБДА (LAMBDA) для каждой ячейки в одном или нескольких диапазонах. Она идеально подходит для поэлементных операций.

Пример формулы MAP с двумя входящими массивами и функцией IFS
Пример формулы MAP (MAP) с двумя входящими массивами и функцией УСЛОВИЯ (IFS)

Формула =MAP(Б2:Г6,Б9:Г13,ЛЯМБДА(A,B,УСЛОВИЯ(A="Clem",B,A="Andy",B/2,A="Bob",B/3))) (=MAP(B2:D6,B9:D13,LAMBDA(A,B,IFS(A="Clem",B,A="Andy",B/2,A="Bob",B/3)))) принимает два массива одинакового размера (5x3) и возвращает результат тех же размеров, применяя логику УСЛОВИЯ (IFS) к каждой паре ячеек.

Накопление значений с помощью REDUCE (REDUCE)

REDUCE (REDUCE) используется, когда нужно получить одно итоговое значение после обработки всех ячеек массива, например, для расчета общей суммы бонусов.

Расчет общего бонусного фонда с помощью REDUCE и IFS
Расчет общего бонусного фонда с помощью REDUCE (REDUCE) и УСЛОВИЯ (IFS)

В формуле =REDUCE(0,Б2:Г6,ЛЯМБДА(a,b,a+УСЛОВИЯ(b>2999,600,b>1999,100,ИСТИНА,0))) (=REDUCE(0,B2:D6,LAMBDA(a,b,a+IFS(b>2999,600,b>1999,100,TRUE,0)))) начальное значение аккумулятора — 0. ЛЯМБДА (LAMBDA) перебирает ячейки диапазона B2:D6, добавляя к аккумулятору бонус в зависимости от объема продаж.

Отслеживание промежуточных результатов с SCAN (SCAN)

Функция SCAN (SCAN) аналогична REDUCE (REDUCE), но возвращает массив всех промежуточных значений аккумулятора, что полезно для анализа процесса вычислений.

SCAN показывает промежуточные итоги бонусного фонда после каждой смены
SCAN (SCAN) показывает промежуточные итоги бонусного фонда после каждой смены

Использование той же логики, что и в REDUCE (REDUCE), но в SCAN (SCAN), позволяет видеть, как рос бонусный фонд после каждой смены: =SCAN(0,Б2:Г6,ЛЯМБДА(a,b,a+УСЛОВИЯ(b>2999,600,b>1999,100,ИСТИНА,0))) (=SCAN(0,B2:D6,LAMBDA(a,b,a+IFS(b>2999,600,b>1999,100,TRUE,0)))).

Обработка по строкам и столбцам: BYROW (BYROW) и BYCOL (BYCOL)

Эти функции применяют указанную функцию (например, МАКС (MAX), СУММ (SUM)) к каждой строке или столбцу диапазона, возвращая результаты в виде динамического массива.

Пример использования BYCOL и BYROW для поиска максимума по столбцам и строкам
Пример использования BYCOL (BYCOL) и BYROW (BYROW) для поиска максимума по столбцам и строкам

Для поиска максимального значения в каждом столбце: =BYCOL(А5:Г11,МАКС) (=BYCOL(A5:D11,MAX)). Для поиска по строкам: =BYROW(А5:Г11,МАКС) (=BYROW(A5:D11,MAX)). Обратите внимание на использование Eta-ЛЯМБДА (Lambda) (МАКС (MAX) вместо ЛЯМБДА (LAMBDA)(A,МАКС (Max)(A))).

Создание массивов с MAKEARRAY (MAKEARRAY)

MAKEARRAY (MAKEARRAY) — мощный инструмент для генерации массивов на основе заданных правил. Вы указываете количество строк и столбцов, а ЛЯМБДА (LAMBDA) определяет значение для каждой ячейки на основе ее позиции.

Создание массива с помощью MAKEARRAY и простой математической логики
Создание массива с помощью MAKEARRAY (MAKEARRAY) и простой математической логики

Пример формулы: =MAKEARRAY(Б2,Б3,ЛЯМБДА(r,c,2*r/c)) (=MAKEARRAY(B2,B3,LAMBDA(r,c,2*r/c))), где r — номер строки, c — номер столбца новой ячейки.

Заключение и лучшие практики

Вспомогательные функции ЛЯМБДА (LAMBDA) открывают новый уровень автоматизации и сложных вычислений в Excel. Начните с MAP (MAP) для поэлементных операций, используйте REDUCE (REDUCE) и SCAN (SCAN) для агрегации с отслеживанием процесса, а BYROW (BYROW)/BYCOL (BYCOL) и MAKEARRAY (MAKEARRAY) — для преобразования структур данных. Освоение этих инструментов значительно повысит вашу эффективность при работе с динамическими массивами.

Поделиться:

Похожие статьи

Генерация всех комбинаций с помощью функции BASE в Excel
Читать
Определение страны по телефонному номеру в Excel с помощью формулы
Читать
Пользовательские форматы чисел в Excel: полное руководство
Читать

Мы используем cookies для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с политикой использования cookies.