Функция 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"}
Обратите внимание, что поскольку входящий массив имеет три значения, результирующий массив также имеет три значения.