REDUCE
Сократить.
Функция преобразует массив в накопленный результат путем применения к каждому значению лямбда-функции LAMBDA.
Другими словами, функция REDUCE используется для преобразования массива в единственное значение, используя заданную функцию. Функция, которую вы передаете в REDUCE, применяется к каждому элементу массива по очереди, а результат каждого применения затем используется в следующем вызове функции, вместе со следующим элементом массива.
Работа с массивами / Array
На русском: команда не имеет эквивалента на русском языке.
REDUCE(начальное_значение; массив_или_диапазон; LAMBDA)
На английском
REDUCE(initial_value, array_or_range, LAMBDA)
Пояснения:
REDUCE(начальное_значение, массив_или_диапазон, LAMBDA)
начальное_значение — начальное значение в сумматоре.массив_или_диапазон — массив или диапазон, который необходимо преобразовать.LAMBDA — лямбда-функция, которая применяется к каждому значению в массиве или диапазоне с целью преобразования.LAMBDA(имя1; имя2; формула)#N/A. Эти аргументы относятся к сумматору и текущему значению в порядке следования. Что означает каждый аргумент:
имя1 — определяет текущее значение в сумматоре.имя2 — определяет текущие значения во входном массиве.REDUCE должен использоваться синтаксис LAMBDA, т. е. ей должно быть назначено два тега аргумента.REDUCE(5; A1:A3; LAMBDA(сумматор; текущее_значение; сумматор+текущее_значение))
REDUCE(2; A1:A3; LAMBDA(сумматор; текущее_значение; сумматор*текущее_значение))
Точная задача: показать произведение всех элементов в A2:A4 и начального значения.
Иллюстрация использования функции REDUCE в Google Таблицах.
Формула из примера в ячейке B2:
=REDUCE(5; A2:A4; LAMBDA(сумматор; текущее_значение; сумматор*текущее_значение))
Изначально сумматор = 5
сумматор= 5
После обработки ячейки A1:
сумматор= (возвращаемое значение LAMBDA)= 5*3= 15
сумматор= 15
После обработки ячейки A2:
сумматор= (возвращаемое значение LAMBDA)= 15*2= 30
сумматор= 30
После обработки ячейки A3:
сумматор= (возвращаемое значение LAMBDA)= 30*4= 120
Результат:
120
Точная задача: Прибавить все цены, которые больше 20 рублей или равные им.
Иллюстрация использования функции REDUCE в Google Таблицах. Прибавляем цены больше или равные 20 рублям
Формула из примера в ячейке B2:
=REDUCE(0; A2:A5; LAMBDA(сумматор; цена; ЕСЛИ(цена>=20; сумматор + цена; сумматор)))
Точаная задача: Использование именованной функции в качестве лямбда-функции. Возврат конечной цены после ее поэтапного повышения на определенный процент
Пример данных:
Пример формулы: =REDUCE(C2,B1:B4,PRICE_INCREASE)
Именованная функция PRICE_INCREASE выводит результат повышения цены на процентное значение из колонки B.
Определение формулы: =сумматор+сумматор*ячейка, где сумматор и ячейка – теги аргументов, назначенных функции PRICE_INCREASE.
Результат:
133,4
Точная задача: Использование именованной функции в качестве лямбда-функции с двумерным набором данных. Составление списка лучших сотрудников квартала с сохранением порядка строк.
Пример данных:
Именованная функция ADD_IF_NOT_PRESENT добавляет значение выбранной строки в массив значений.
Определение функции: =IF(CONTAINS(новое_значение, существующие_значения), существующие_значения, {существующие_значения, новое_значение}), где существующие_значения и новое_значение – теги аргументов, заданные в указанном порядке для функции ADD_IF_NOT_PRESENT, а CONTAINS – ещё одна именованная функция.
Пример формулы: =REDUCE({B2}, B2:E4, ADD_IF_NOT_PRESENT)
Результат:
Переданная лямбда-функция не имеет ровно два аргумента "имя"
Если лямбда-функция не имеет ровно два аргумента "имя", возникает следующая ошибка:
"Неверное количество аргументов лямбда-функции: 2 вместо 3".
Пример: =REDUCE(5, C1:C4, LAMBDA(текущее_значение, текущее_значение+1))
В этом примере для лямбда-функции задан только один аргумент "имя" при требуемых двух.
Последний параметр функции REDUCE не является лямбда-функцией
Если последний параметр функции REDUCE не является лямбда-функцией, возникает следующая ошибка:
"Аргумент должен быть лямбда-функцией".
Пример: =REDUCE(5, C1:C4, 3)
В этом примере последней функцией является 3, а не лямбда-функция.
Лямбда-функция, переданная функции REDUCE, неверна
Если один или несколько аргументов "имя" недействительны, возникает следующая ошибка:
"Аргумент 1 лямбда-функции является недопустимым именем".
Пример: =REDUCE(5, C1:C4, LAMBDA(C1, v, C1+v))
В этом примере С1 является недопустимым именем, поскольку конфликтует с диапазоном.
MAP »
Google Sheets function list (на английском)
Список функций Google Таблиц (на русском)
Простой текст
Работает на Creatium
Оставаясь на сайте, вы соглашаетесь с тем что мы используем cookies
Оставаясь на сайте, вы соглашаетесь с тем что мы используем cookies