Navegação Rápida
Função REDUCE
Resumo
A função REDUCE do Excel reduz uma matriz a um único valor acumulado, aplicando uma função LAMBDA personalizada a cada elemento da matriz. É uma ferramenta poderosa das funções de matriz dinâmica para processar dados de forma iterativa, acumulando resultados progressivamente.
Sintaxe
REDUCE([initial_value], matriz, LAMBDA(acumulador, valor, corpo))
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| initial_value | Any |
Não | Valor inicial para o acumulador. Use 0 para somas, 1 para produtos. |
| matriz | Array |
Sim | Intervalo ou matriz de valores a processar |
| lambda | Lambda |
Sim | LAMBDA(acumulador, valor, corpo) que define a lógica de acumulação |
Usando a função REDUCE
A REDUCE aplica iterativamente uma função LAMBDA a cada elemento de uma matriz, atualizando um valor acumulador. É perfeita para criar funções personalizadas como PRODUCTIF, SUMIF avançado ou contagens condicionais sem fórmulas complexas.
Exemplos Comuns de REDUCE
Somar valores ao quadrado
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Soma os quadrados de todos os valores no intervalo A1:C2
PRODUCTIF personalizado (>50)
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
Multiplica apenas números maiores que 50 de uma tabela
Contar valores pares
=REDUCE(0,Tabela4[Nums],LAMBDA(a,n,IF(ISEVEN(n),a+1,a)))
Conta quantos números pares existem na tabela
Perguntas Frequentes
Erros Comuns e Soluções
#VALOR! - Parâmetros incorretos
Cause: LAMBDA com número errado de parâmetros
Solution: Use sempre LAMBDA(acumulador, valor, cálculo) com 3 parâmetros
Notas
- Para multiplicação, inicialize com 1 (não 0)
- Funciona apenas com Excel 365 e 2021
- Combine com BYROW/BYCOL para processamento avançado
Compatibilidade
Disponível em: Excel 365, Excel 2021
Não disponível em: Excel 2019 e anteriores
Conteúdo revisado pela última vez: December 9, 2025
Frequência de atualização: Conforme necessário
Versões do Excel testadas: Excel 365, Excel 2021