Resolvendo Problemas Reais de Pesquisa
Deslize para mostrar o menu
Correspondências exatas são úteis para modelos relacionais, mas muitos sistemas empresariais dependem de faixas e limites em vez de valores fixos. Neste capítulo, utilize a correspondência aproximada para construir lógica de precificação por faixa e cálculos dinâmicos de desconto.
Correspondência Aproximada com XLOOKUP
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], -1)
lookup_value: valor a ser avaliado;lookup_array: valores de limite;return_array: resultado retornado;-1: retorna o maior valor menor ou igual ao valor de pesquisa.
A correspondência aproximada exige que o array de pesquisa esteja ordenado em ordem crescente.
Lógica por Faixa
Tabelas de faixa definem limites mínimos em vez de correspondências exatas.
Exemplo:
| Min_Units | Discount_Rate |
|---|---|
| 1 | 0% |
| 5 | 5% |
| 10 | 10% |
| 20 | 15% |
O Excel avalia onde o valor de Units se encaixa na estrutura de limites e retorna a taxa de desconto correspondente.
Crie uma nova planilha chamada:
Pricing_Tiers
Adicione o seguinte conjunto de dados:
Min_Units;Discount_Rate
1;0%
5;5%
10;10%
20;15%
Converta o conjunto de dados em uma Tabela do Excel.
Confirme que Min_Units está ordenado em ordem crescente.
Dentro de Sales_Data, crie uma nova coluna chamada:
Discount_Rate
Na primeira linha, digite:
=XLOOKUP([@Units],Pricing_Tiers[Min_Units],Pricing_Tiers[Discount_Rate],0,-1)
[@Units]: valor de Units da linha atual;Pricing_Tiers[Min_Units]: coluna de limites;Pricing_Tiers[Discount_Rate]: valor de desconto retornado;0: valor de fallback;-1: modo de correspondência aproximada.
Formate os resultados como porcentagens.
Crie uma nova coluna chamada:
Discounted_Revenue
Na primeira linha, digite:
=[@Revenue]*(1-[@Discount_Rate])
[@Revenue]: valor original de Receita;[@Discount_Rate]: percentual de desconto aplicado.
O cálculo agora se ajusta dinamicamente com base no volume de unidades.
Modifique os valores dentro de Pricing_Tiers.
Confirme que todos os cálculos dependentes são atualizados automaticamente.
Substitua a fórmula anterior de produto principal por:
=XLOOKUP(MAX(Sales_Data[Discounted_Revenue]),Sales_Data[Discounted_Revenue],Sales_Data[Product],"Not found")
A busca agora avalia o desempenho com desconto em vez da Receita bruta.
Na planilha Summary, crie uma seção de entrada para:
Order_ID
Na célula de resultado da busca, digite:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Customer_ID],"Not found")
M2: entrada de Order_ID;Sales_Data[Order_ID]: coluna de pesquisa;Sales_Data[Customer_ID]: valor retornado.
Em outra célula de resultado, digite:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Product],"Not found")
As fórmulas agora recuperam detalhes da transação dinamicamente a partir do Order_ID selecionado.
Altere o valor em M2.
Confirme que:
- Os valores de cliente são atualizados automaticamente;
- Os valores de produto são atualizados automaticamente;
- As fórmulas sempre retornam a transação correspondente.
1. O que faz o match_mode = -1 no XLOOKUP?
2. Por que o array de pesquisa deve estar ordenado ao usar correspondência aproximada?
3. O que torna o XLOOKUP adequado para pesquisas reversas?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo