Uma situação muito comum em planilhas corporativas é precisar buscar um valor em mais de uma tabela de referência. Os produtos antigos estão em uma tabela, os produtos novos em outra, os produtos importados em uma terceira. Quando você usa um PROCV simples em apenas uma dessas tabelas, os registros das outras retornam #N/D. A solução elegante é encadear múltiplos PROCVs dentro de SERROs aninhados — cada SEERRO tenta o próximo PROCV quando o anterior não encontra o valor. Neste artigo iremos mostrar como criar buscas encadeadas com SEERRO e PROCV no Excel para consultar múltiplas tabelas de referência com uma única fórmula.
A lógica do SEERRO aninhado com múltiplos PROCVs
A ideia é usar o segundo argumento do SEERRO (o valor_se_erro) não como um texto simples, mas como outro SEERRO com outro PROCV. Quando o primeiro PROCV não encontra o valor (retorna erro), em vez de mostrar uma mensagem, o SEERRO externo passa para o segundo PROCV que busca em outra tabela. Se o segundo também não encontrar, o SEERRO do segundo passa para o terceiro PROCV. E assim por diante até a última tabela, cujo SEERRO finalmente exibe a mensagem de “Não encontrado”.
A sintaxe para duas tabelas: =SEERRO(PROCV(A2;Tabela1;2;FALSO);SEERRO(PROCV(A2;Tabela2;2;FALSO);”Não encontrado”)). Lendo de dentro para fora: primeiro tenta na Tabela1, se não encontrar (SEERRO externo ativado) tenta na Tabela2, se não encontrar nessa também (SEERRO interno ativado) exibe “Não encontrado”. Para três tabelas: =SEERRO(PROCV(A2;Tabela1;2;FALSO);SEERRO(PROCV(A2;Tabela2;2;FALSO);SEERRO(PROCV(A2;Tabela3;2;FALSO);”Não encontrado”))). Cada aninhamento adiciona uma nova tabela na sequência de busca.
Essa técnica de SEERRO aninhado com PROCV é especialmente útil em cenários de migração e transição de sistemas, onde os dados históricos estão em tabelas legadas e os dados novos em tabelas atualizadas. Em vez de consolidar tudo em uma única tabela antes de usar — o que pode ser trabalhoso ou mesmo impossível quando as tabelas têm estruturas diferentes —, você configura a fórmula para buscar em cada tabela na ordem correta e deixa o Excel fazer o trabalho de verificação automaticamente.
Buscando em tabelas com estruturas diferentes
Um desafio do SEERRO com múltiplos PROCVs é quando as tabelas de referência têm estruturas diferentes — por exemplo, na Tabela1 o nome está na coluna 2 e na Tabela2 o nome está na coluna 3. Cada PROCV precisa usar o número de coluna correto para a sua tabela: =SEERRO(PROCV(A2;Tabela1;2;FALSO);SEERRO(PROCV(A2;Tabela2;3;FALSO);”Não encontrado”)). O primeiro PROCV busca o nome na coluna 2 da Tabela1, o segundo busca na coluna 3 da Tabela2 — colunas diferentes para o mesmo campo, porque as tabelas têm layouts distintos.
Quando as tabelas têm muitos campos com estruturas diferentes, a gestão de múltiplos números de coluna por tabela se torna complexa. Uma solução mais elegante é usar intervalos nomeados que referenciam especificamente a coluna de retorno de cada tabela, em vez de usar números de coluna. Com ÍNDICE+CORRESP no lugar do PROCV, a busca é feita pela coluna de chave e o retorno pela coluna de resultado, independentemente de quantas colunas existem entre elas: =SEERRO(ÍNDICE(Tabela1[Nome];CORRESP(A2;Tabela1[Código];0));SEERRO(ÍNDICE(Tabela2[Nome_Cliente];CORRESP(A2;Tabela2[Código_Cliente];0));”Não encontrado”)). Essa versão com ÍNDICE+CORRESP é mais robusta do que PROCV para tabelas com estruturas variadas.
Para situações onde as tabelas de referência estão em arquivos externos — outras pastas de trabalho Excel —, o SEERRO com PROCV funciona da mesma forma, mas a referência à tabela inclui o caminho do arquivo: =SEERRO(PROCV(A2;'[Arquivo1.xlsx]Aba1′!$A:$F;2;FALSO);SEERRO(PROCV(A2;'[Arquivo2.xlsx]Aba1′!$A:$F;2;FALSO);”Não encontrado”)). Nesse caso, os arquivos externos precisam estar abertos para que o PROCV funcione. Se estiverem fechados, o PROCV retorna erro que o SEERRO trata — mas por motivo errado (arquivo fechado em vez de valor não encontrado). Para referências externas, prefira sempre consolidar as tabelas na mesma pasta de trabalho quando possível.
SEERRO com PROCV e SE para busca hierárquica
Em vez de buscar em múltiplas tabelas em sequência aleatória, às vezes a hierarquia de busca precisa ser baseada em uma condição. Por exemplo: se o cliente é nacional, busca na tabela de preços nacionais; se é internacional, busca na tabela de preços internacionais. Essa busca condicional combina SE com SEERRO e PROCV.
A fórmula: =SE(B2=”Nacional”;SEERRO(PROCV(A2;Precos_Nacionais;2;FALSO);”Não encontrado em nacionais”);SEERRO(PROCV(A2;Precos_Internacionais;2;FALSO);”Não encontrado em internacionais”)). O SE decide qual tabela usar com base na categoria do cliente em B2. Cada ramo do SE tem seu próprio SEERRO+PROCV com mensagem de erro específica para aquela tabela. Essa abordagem é mais eficiente do que o SEERRO aninhado simples porque não tenta todas as tabelas — vai direto para a tabela correta baseando-se na condição.
Para hierarquias mais complexas com mais de duas condições, use SES no lugar de SE aninhado: =SES(B2=”Nacional”;SEERRO(PROCV(A2;Precos_Nacionais;2;FALSO);”Não encontrado”);B2=”Internacional”;SEERRO(PROCV(A2;Precos_Internacionais;2;FALSO);”Não encontrado”);VERDADEIRO;SEERRO(PROCV(A2;Precos_Padrao;2;FALSO);”Não encontrado”)). O VERDADEIRO no SES é o caso padrão que se aplica quando nenhuma das condições anteriores é verdadeira — busca na tabela de preços padrão como fallback. Essa estrutura SES+SEERRO+PROCV é clara, legível e cobre todos os casos possíveis.
Identificando em qual tabela o valor foi encontrado
Quando você usa SEERRO encadeado para buscar em múltiplas tabelas, pode ser útil saber de qual tabela o resultado veio — especialmente para fins de auditoria ou para exibir informações diferentes dependendo da origem. Para isso, crie uma coluna auxiliar de “Origem” que identifica a tabela: =SE(NÃO(É.ERRO(PROCV(A2;Tabela1;1;FALSO)));”Tabela1″;SE(NÃO(É.ERRO(PROCV(A2;Tabela2;1;FALSO)));”Tabela2″;”Não encontrado”)). Essa fórmula verifica em sequência em qual tabela o valor existe e retorna o nome da tabela correspondente.
Com a coluna de origem e a coluna de resultado lado a lado, você tem uma visão completa: o valor consultado, o resultado encontrado e de qual tabela veio. Isso é especialmente valioso em processos de consolidação de bases de dados onde rastrear a origem de cada registro é requisito de auditoria. A combinação SEERRO+PROCV com identificação de origem cria um sistema de busca multi-tabela completo e transparente.
Uma última dica importante para quem usa SEERRO encadeado com múltiplos PROCVs em planilhas de alto volume: cada SEERRO executa o PROCV correspondente somente quando o PROCV anterior retornou erro. Isso significa que o número de PROCVs executados depende de em qual tabela o valor é encontrado. Se o valor está sempre na primeira tabela, apenas o primeiro PROCV é executado e os demais são ignorados. Essa execução condicional torna o SEERRO encadeado muito mais eficiente do que aparenta — não há desperdício de processamento em tabelas que não seriam necessárias para aquele registro específico.
Se você curtiu esse artigo onde mostramos como usar SEERRO com PROCV no Excel para criar buscas em múltiplas tabelas de referência, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.