Repetindo com MAP e REDUCE
Aplique uma LAMBDA a uma matriz para transformar ou acumular valores.
Repetindo com MAP e REDUCE é uma aula grátis de Excel Formulas Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Excel Formulas Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Excel Formulas Academy inclui 4 aulas no total.
Repetição sem código
Às vezes, você quer aplicar o mesmo cálculo a cada valor de um intervalo ou reduzir um intervalo inteiro a um único número. Em programação, isso é um laço. Nas planilhas modernas, MAP e REDUCE fazem isso por você usando LAMBDA.
- MAP transforma cada elemento de uma matriz em um novo elemento
- REDUCE combina todos os elementos em um único resultado acumulado
Ambas recebem uma LAMBDA que descreve o que fazer com cada valor. Elas estão disponíveis no Microsoft 365 e no Google Sheets.
Como MAP funciona
MAP percorre uma matriz e aplica uma LAMBDA a cada item, produzindo uma nova matriz do mesmo tamanho. O parâmetro da LAMBDA recebe um elemento por vez.
O padrão é: forneça a matriz a MAP e depois uma LAMBDA cujo parâmetro represente cada valor. MAP distribui automaticamente os resultados transformados pelas células.
=MAP(array, LAMBDA(value, calculation))Um primeiro exemplo de MAP
Suponha que A2:A6 contenha cinco preços e que você queira aumentar cada um em 10 por cento. MAP aplica o acréscimo a todos os valores de uma só vez.
O parâmetro p da LAMBDA representa cada preço, um por vez. MAP retorna cinco resultados, um para cada célula de entrada, distribuindo-os pela coluna.
Você não precisa arrastar a alça de preenchimento nem copiar. Uma fórmula cuida de todo o intervalo.
=MAP(A2:A6, LAMBDA(p, p*1.1))MAP com duas matrizes
MAP pode percorrer duas matrizes em paralelo. A LAMBDA então recebe dois parâmetros, um de cada matriz, associados posição por posição.
Aqui multiplicamos as quantidades em A2:A6 pelos preços em B2:B6 para obter os totais das linhas. O parâmetro q corresponde a cada quantidade, e pr, a cada preço.
As duas matrizes devem ter o mesmo tamanho; caso contrário, você obterá um erro.
=MAP(A2:A6, B2:B6, LAMBDA(q, pr, q*pr))Como REDUCE funciona
REDUCE reduz uma matriz a um único valor. Ela mantém um acumulador que é atualizado a cada elemento.
Ela recebe três elementos: um valor inicial para o acumulador, a matriz e uma LAMBDA com dois parâmetros, acc (o total acumulado) e value (o elemento atual). A LAMBDA retorna o novo acumulador a cada etapa.
=REDUCE(start, array, LAMBDA(acc, value, new_accumulator))Um primeiro exemplo de REDUCE
Vamos somar um intervalo com REDUCE (sim, SUM também faz isso, mas o exemplo mostra claramente o funcionamento).
Começamos o acumulador em 0. Para cada valor em A2:A6, a LAMBDA o adiciona a acc. Depois do último elemento, acc contém o total.
Se os valores fossem 10, 20 e 30, o acumulador passaria por 0, 10, 30 e 60, terminando em 60.
=REDUCE(0, A2:A6, LAMBDA(acc, v, acc + v))REDUCE para um produto acumulado
Altere a operação e REDUCE fará algo novo. Para multiplicar todos os valores, comece o acumulador em 1 e multiplique a cada etapa.
Isso calcula um produto, útil para coisas como fatores de crescimento composto. O valor inicial é importante: use 0 para somas e 1 para produtos, pois esses são os elementos neutros iniciais.
=REDUCE(1, A2:A6, LAMBDA(acc, v, acc * v))Combinando MAP e REDUCE
Você pode transformar com MAP e resumir com REDUCE em uma única fórmula. Uma tarefa comum é somar os quadrados de um intervalo.
Aqui MAP eleva cada valor ao quadrado e, em seguida, REDUCE os soma começando em 0. O resultado de MAP torna-se a matriz que REDUCE processa.
=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))MAP e REDUCE no Google Sheets
As duas funções existem no Google Sheets com sintaxe idêntica. MAP aplica uma LAMBDA a cada elemento; REDUCE acumula usando um valor inicial, uma matriz e uma LAMBDA com dois parâmetros.
O Sheets também oferece auxiliares relacionadas, como SCAN, que funciona como REDUCE, mas retorna cada acumulador intermediário em vez de apenas o final. O Excel também tem SCAN.
=SCAN(0, A2:A6, LAMBDA(acc, v, acc + v))Dicas e armadilhas
Alguns pontos para lembrar:
- Em MAP, a LAMBDA deve retornar um valor para cada elemento
- Em REDUCE, a LAMBDA deve sempre retornar o novo acumulador; nunca se esqueça disso
- Escolha o valor inicial correto: 0 para somas, 1 para produtos e uma cadeia de caracteres vazia para juntar textos
- As matrizes fornecidas juntas devem ter as mesmas dimensões
Quando tiver dúvida, teste primeiro a sua LAMBDA em linha com um único valor.
Quando usar cada uma
Escolha MAP quando quiser um resultado para cada entrada, como aplicar um acréscimo ou uma formatação a cada valor.
Escolha REDUCE quando quiser reunir muitos valores em um, como um total personalizado, uma concatenação ou um máximo encontrado por meio da sua própria lógica.
Juntas, elas permitem expressar laços que as planilhas antigas simplesmente não conseguiam realizar em uma única fórmula.
Verificação rápida
Teste sua compreensão de REDUCE.
Recapitulação: repetição com MAP e REDUCE
Você aprendeu a percorrer matrizes com funções baseadas em LAMBDA.
- MAP transforma cada elemento em um novo elemento, retornando uma matriz
- REDUCE reúne uma matriz em um único valor usando um acumulador
- Escolha um valor inicial adequado: 0 para somas e 1 para produtos
- MAP pode associar várias matrizes; combine MAP e REDUCE para criar resumos avançados em uma única linha
- SCAN mostra cada etapa intermediária
A seguir, você aprenderá a salvar suas LAMBDAs como funções nomeadas para criar fórmulas organizadas e reutilizáveis em toda a pasta de trabalho.
=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))Perguntas Frequentes
A aula “Repetindo com MAP e REDUCE” é grátis?
Sim — o texto completo de “Repetindo com MAP e REDUCE” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Excel Formulas Academy, atualize para CoddyKit PRO. O curso de Excel Formulas Academy inclui 4 aulas no total.
O que vou aprender em “Repetindo com MAP e REDUCE”?
Aplique uma LAMBDA a uma matriz para transformar ou acumular valores. Você pratica Excel Formulas Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Excel Formulas Academy?
Nenhuma experiência prévia é necessária. Excel Formulas Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Repetindo com MAP e REDUCE”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Excel Formulas Academy?
Sim. Cada aula de Excel Formulas Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Nomeando etapas com LET
- Definindo funções personalizadas com LAMBDA
- Repetindo com MAP e REDUCE
- Fórmulas mais limpas com LAMBDAs nomeadas