Функция BYCOL в Excel применяет функцию LAMBDA к каждому столбцу в заданном массиве и возвращает один результат для каждого столбца в виде единого массива. В показанном примере данными является именованный диапазон C5:H9.
Примечание. BYCOL — это бета-функция, доступная только через канал Insiders Excel 365 .
Что делает функция BYCOL в Excel ?
Функция BYCOL в Excel позволяет применить функцию LAMBDA к столбцу.
Возвращаемое значение
Один результат на столбец.
Аргументы
- array — Массив или массив для обработки.
- lambda — лямбда-функция, применяемая к каждому столбцу.
Синтаксис
=BYCOL(array, lambda)
Примечания по использованию
Функция BYCOL в Excelприменяет функцию LAMBDA к каждому столбцу в массиве и возвращает один результат для каждого столбца в виде единого массива. Целью BYCOL является обработка данных в массиве или диапазоне по столбцу. Например, если BYCOL задан массив с 3 столбцами, BYCOL вернет массив с 3 результатами. Вычисления, выполняемые для каждого столбца, обеспечиваются пользовательской функцией LAMBDA .
Функция BYCOL принимает два аргумента: массив и лямбда. Массив — это массив или диапазон для обработки. Lambda — это функция LAMBDA, которую следует запускать для каждого столбца в массиве . Лямбда-функция должна возвращать один результат для каждого столбца, иначе BYCOL вернет #CALC! ошибка.
Примеры
Чтобы суммировать каждый столбец в диапазоне, вы можете использовать функцию BYCOL следующим образом:
=BYCOL(range,LAMBDA(column,SUM(column)))
Функция BYCOL передает содержимое диапазона по одному столбцу за раз в функцию LAMBDA, которая использует функцию СУММ для вычисления суммы для каждого столбца. Затем BYCOL предоставляет результаты вычисления LAMBDA в одном массиве. Если диапазон содержит 5 столбцов, BYCOL возвращает массив, содержащий 5 сумм.
Пример рабочего листа
На листе, показанном выше, функция BYCOL используется для выполнения 5 отдельных вычислений с данными, которые представляют собой именованный диапазон C5:H5. В ячейке C11 приведенная ниже формула используется для вычисления суммы для каждого столбца:
=BYCOL(data,LAMBDA(column,SUM(column)))
Поскольку в данных 6 столбцов, результатом является массив с 6 суммами, подобными этому:
{391,429,347,394,325,363}
Значения в этом массиве переходят в диапазон C11:H11. Все остальные формулы в C12:C14 следуют тому же шаблону:
=BYCOL(data,LAMBDA(column,MAX(column))) // max
=BYCOL(data,LAMBDA(column,MIN(column))) // min
=BYCOL(data,LAMBDA(column,AVERAGE(column))) // average
Подсчет ячеек более 90
В ячейке C15 формула немного сложнее. Цель состоит в том, чтобы подсчитать ячейки в каждом столбце со значением более 90, и используется следующая формула:
=BYCOL(data,LAMBDA(column,SUM(--(column>90)))) // count >90
В этом случае LAMBDA выполняет пользовательский расчет на основе функции SUM, которая используется для подсчета количества значений в каждом столбце, превышающих 90.
Примечание: функцию COUNTIF можно использовать вместо SUM, но COUNTIF требует диапазона и не будет работать с массивом.