Функция SCAN в Excel

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

Что делает функция SCAN в Excel?

Функция SCAN в Excel сканирует массив и возвращает промежуточные результаты.

Возвращаемое значение

Массив результатов.

Аргументы

  • initial_value — [необязательный] Начальное значение аккумулятора.
  • array — Массив для сканирования.
  • lambda — применяемая пользовательская функция LAMBDA.

Синтаксис

=SCAN(initial_value], array, lambda)

Примечания по использованию

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

SCAN использует функцию LAMBDA  для применения необходимой логики формулы. LAMBDA применяется к каждому значению, и результат представляет собой массив результатов с теми же размерами, что и исходный массив. Как и функция REDUCE, SCAN перебирает все элементы массива и выполняет вычисления для каждого элемента. Однако в то время как REDUCE возвращает одно значение, SCAN возвращает массив значений.

Функция SCAN принимает три аргумента: initial_value , array и lambda . Initial_value — это начальное начальное значение, используемое для первого результата. Начальное_значение является необязательным. Массив — это массив для сканирования, а лямбда — это пользовательская функция LAMBDA, выполняемая для каждого элемента массива.

Лямбда-структура

Функция SCAN использует функцию LAMBDA для применения необходимой логики формулы. Структура LAMBDA, используемая внутри SCAN, выглядит следующим образом:

LAMBDA(a,v,calculation)

Первый аргумент a — это аккумулятор, используемый для создания промежуточных значений. Аккумулятор начинается с начального_значения , предоставляемого SCAN, и изменяется по мере того, как функция SCAN перебирает элементы в массиве и применяет вычисления. Аргумент v представляет значение каждого элемента массива. Расчет — это формула, которая создает промежуточные значения, которые появятся в конечном результате.

Примечание. SCAN возвращает  массив промежуточных результатов. Функция MAP для обработки каждого элемента в массиве по отдельности и возврата массива непромежуточных результатов.

Примеры

В приведенной ниже формуле SCAN в Excel используется для создания промежуточного итога массива с тремя значениями:

=SCAN(0,{1,2,3},LAMBDA(a,v,a+v)) // returns {1,3,6}

В функции LAMBDA a — это начальное_значение, заданное для SCAN (ноль), а v представляет отдельные элементы в массиве. LAMBDA запускается один раз для каждого элемента массива, и на каждой итерации значение v добавляется к аккумулятору. SCAN возвращает массив {1,3,6} в качестве конечного результата.

На листе, показанном выше, формула в D5:

=SCAN(0,B5:B16,LAMBDA(a,v,a+v))

Результатом является текущая сумма значений в диапазоне B5:B16.

Текстовые значения

Для работы с текстовыми значениями задайте  для параметра initial_value пустую строку («»). Формула ниже создает текущую конкатенацию массива:

=SCAN("",{"a","b","c"},LAMBDA(a,v,a&v)) // returns {"a","ab","abc"}

Обратите внимание, что поскольку входящий массив имеет три значения, результирующий массив также имеет три значения.

Автор А. Днепров

Обучаю основам работы с офисными программами.

Функция SCAN в Excel
5.5 Формирование обьектов из нескольких других