Função MAPA no Excel: Exemplos com LAMBDA e Critérios
A função MAPA no Excel (MAP, em inglês) aplica uma função LAMBDA a cada elemento de uma ou mais matrizes e devolve os resultados automaticamente. É útil para calcular preços, classificar registros e combinar colunas sem copiar a fórmula linha por linha.
Compatibilidade: disponível no Excel para Microsoft 365 e no Excel 2024, incluindo versões compatíveis para Mac. Não é uma função do Excel 2019 ou 2021. Em instalações que usam nomes em inglês, a função se chama MAP.
Sintaxe da função MAPA
=MAPA(matriz1; [matriz2]; ...; LAMBDA(parâmetros; cálculo))
Cada matriz fornece valores para os parâmetros da LAMBDA, na mesma ordem. Use um parâmetro para cada matriz. O último argumento é sempre a LAMBDA. As matrizes precisam ter dimensões compatíveis.
Base de dados para acompanhar os exemplos
Crie os cabeçalhos Produto, Preço e Categoria em A1, B1 e C1. Preencha as seis linhas abaixo. Digite os preços como números, sem o símbolo R$, e aplique o formato Moeda se desejar.
| Linha | A — Produto | B — Preço (R$) | C — Categoria |
|---|---|---|---|
| 2 | Mouse | 100 | Acessórios |
| 3 | Monitor | 800 | Periféricos |
| 4 | Teclado | 200 | Acessórios |
| 5 | Webcam | 300 | Periféricos |
| 6 | Cabo | 50 | Acessórios |
| 7 | Headset | 500 | Periféricos |
Digite cada fórmula em uma área vazia, por exemplo E2, para permitir que os resultados se espalhem pelas linhas seguintes. Não é necessário arrastar a alça de preenchimento.
Exemplo 1: aumentar todos os preços em 10%
=MAPA(B2:B7;LAMBDA(preco;preco*1,1))
A LAMBDA recebe cada preço da coluna B e o multiplica por 1,1. Resultado, de E2 a E7: 110; 880; 220; 330; 55; 550. O preço original de R$ 800 passa a R$ 880.
Exemplo 2: classificar os preços com SE
=MAPA(B2:B7;LAMBDA(preco;SE(preco>=300;"Alto";"Baixo")))
A classificação considera Alto todo preço maior ou igual a R$ 300. Resultado: Baixo; Alto; Baixo; Alto; Baixo; Alto. Observe que R$ 300 também recebe Alto.
Exemplo 3: aplicar desconto usando duas colunas
=MAPA(B2:B7;C2:C7;LAMBDA(preco;categoria;SE(categoria="Acessórios";preco*0,9;preco)))
Agora a MAPA percorre preço e categoria ao mesmo tempo. Os produtos classificados como Acessórios recebem desconto de 10%; os demais mantêm o preço original. Resultado: 90; 800; 180; 300; 45; 500.
Exemplo 4: criar uma descrição por produto
=MAPA(A2:A7;B2:B7;LAMBDA(produto;preco;produto&" - R$ "&TEXTO(preco;"0,00")))
O resultado combina nome e preço em texto, como Mouse – R$ 100,00 e Monitor – R$ 800,00. Como a função TEXTO devolve texto formatado, essa saída não deve ser usada diretamente em somas.
Quando usar MAPA, SE e fórmulas tradicionais?
- MAPA: transforma vários valores em uma única fórmula dinâmica, especialmente quando a regra envolve LAMBDA ou várias matrizes.
- SE: resolve decisões condicionais e pode ser usado dentro de MAPA ou diretamente nas células.
- Fórmula tradicional: em versões antigas do Excel, digite uma fórmula na primeira linha e copie para as demais.
Erros comuns e como corrigir
- #DESPEJAR!: existem células preenchidas no intervalo de saída. Libere a área onde a matriz precisa aparecer.
- #VALOR! / parâmetros incorretos: o número de parâmetros da LAMBDA não corresponde ao número de matrizes fornecidas.
- Dimensões incompatíveis: as matrizes de entrada devem ter o mesmo formato para serem percorridas em paralelo.
- Função não reconhecida: confirme a versão do Excel e o idioma dos nomes das funções. No Excel em inglês, use MAP e IF, por exemplo.
Exercícios para praticar a função MAPA
Exercício 1 — reajuste de 15%
Com a mesma base, crie uma matriz com todos os preços reajustados em 15%. Antes de consultar o gabarito, calcule o preço do Monitor manualmente.
Exercício 2 — sinalizar preços acima de R$ 400
Retorne Revisar quando o preço for maior que R$ 400 e OK nos demais casos. O valor de R$ 400, se existisse na base, deveria retornar OK.
Exercício 3 — desconto por categoria
Crie uma fórmula que aplique desconto de 10% apenas a Acessórios. Use simultaneamente os intervalos B2:B7 e C2:C7.
Gabarito comentado
Resposta do exercício 1
=MAPA(B2:B7;LAMBDA(p;p*1,15))
Resultados: 115; 920; 230; 345; 57,50; 575. O Monitor passa de R$ 800 para R$ 920.
Resposta do exercício 2
=MAPA(B2:B7;LAMBDA(p;SE(p>400;"Revisar";"OK")))
Resultados: OK; Revisar; OK; OK; OK; Revisar. Apenas Monitor e Headset superam R$ 400.
Resposta do exercício 3
=MAPA(B2:B7;C2:C7;LAMBDA(p;c;SE(c="Acessórios";p*0,9;p)))
Resultados: 90; 800; 180; 300; 45; 500. O desconto não altera Monitor, Webcam nem Headset.
Próximos passos
Para entender a função usada em todos os exemplos, leia como criar fórmulas com LAMBDA. Para calcular acumulados, veja a função SCAN. Volte também ao guia de fórmulas e funções do Excel para estudar outros recursos.
Referência técnica: documentação oficial da função MAP da Microsoft.
0 Comentários