Olá, Brendo. Como vai?
Que show de bola a sua resolução! Acompanhar o seu raciocínio pelos prints dá gosto de ver. Você aplicou uma das melhores práticas que existem na engenharia de planilhas: destrinchar fórmulas complexas em partes menores antes de juntar tudo.
Montar uma combinação de ÍNDICE com dois CORRESP e ainda um PROCV aninhado de primeira direto na tabela principal é o cenário perfeito para gerar dor de cabeça e erros de sintaxe. Quando você isolou os testes na primeira aba, calculando a linha e a coluna separadamente, você calibrou a lógica. Na hora de levar para a tabela de vendas oficial, foi só um "copia e cola" consciente.
Vamos analisar por que a sua fórmula ficou robusta e o grande acerto técnico na escolha dos parâmetros.
A Engenharia da sua Fórmula Bidimensional
A sua fórmula realiza uma busca em duas dimensões (cruza uma linha com uma coluna) para encontrar o desconto exato. Veja como o Excel processa a estrutura que você montou:
=ÍNDICE(Desc_tabela; CORRESP([@Qtd];Desc_QTD;1); CORRESP(PROCV([@Código];TB_Produtos;4;0);Desc_Categ;0))
1. Definindo a Linha (A sacada do Tipo de Correspondência 1)
No primeiro CORRESP([@Qtd];Desc_QTD;1), você usou o parâmetro 1 (é menor que). Isso foi fundamental para o desconto progressivo funcionar.
- Se o cliente comprou 6 unidades (como no seu primeiro print), o Excel procura na tabela de quantidades (
1, 2, 3, 5, 10). Ele não acha o 6 exato, mas como você usou o parâmetro 1, ele entende que deve parar no maior valor menor ou igual a 6, que é o 5. Isso joga a busca perfeitamente para a linha 4 da matriz de desconto. Se usasse 0 (correspondência exata), a fórmula retornaria um erro #N/D.
2. Definindo a Coluna (A ponte com o PROCV)
Como a sua tabela de vendas original não dizia diretamente se o produto era "Acessórios", "Vestuário" ou "Calçado" (ela só tinha o [@Código]), você fez uma jogada excelente:
- Colocou um
PROCV no lugar do valor procurado do segundo CORRESP. - Esse
PROCV vai até a tabela de cadastro de produtos (TB_Produtos), descobre que o código PR006 pertence à categoria "Acessórios" (coluna 4) e devolve esse texto para o CORRESP. - O
CORRESP, por sua vez, localiza onde "Acessórios" está no cabeçalho (Desc_Categ), definindo a coluna final da busca com exatidão usando o parâmetro 0 (correspondência exata).
O Benefício Oculto dos Intervalos Nomeados
Você mencionou que nomear os intervalos (Desc_tabela, Desc_QTD, Desc_Categ) fez toda a diferença, e você está coberto de razão. Além de facilitar a escrita, os intervalos nomeados travam as células automaticamente (funcionam como o cifrão $).
Quando a sua fórmula é arrastada para as milhares de linhas da tabela de vendas, as referências da tabela de desconto não saem do lugar, garantindo a integridade dos cálculos do início ao fim do relatório.
Parabéns pelo método de estudo organizado e estruturado, Brendo! Destrinchar o problema antes de codificar é o comportamento que diferencia um usuário comum de Excel de um verdadeiro analista de dados.
Espero que possa ter lhe ajudado!