Menu

PROCV com dois critérios no Excel: PROCX e ÍNDICE CORRESP

=PROCX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7) retorna o valor da linha em que a coluna A bate com E2 e a coluna B bate com F2. A versão com ÍNDICE e CORRESP, uma coluna auxiliar para o PROCV e a FILTRO para todas as ocorrências.

Todas as planilhas desta página são ao vivo: mude um número ou uma fórmula e elas recalculam.

=PROCX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7) retorna o preço da linha em que o produto é E2 e o tamanho é F2. Cada comparação verifica todas as linhas, multiplicar as duas dá 1 só onde as duas são verdadeiras, e a PROCX procura esse 1. Ela precisa do Excel 2021 ou do Microsoft 365; a versão com ÍNDICE e CORRESP abaixo funciona em qualquer versão. A PROCX se chama XLOOKUP em inglês, e a tabela mostra a fórmula assim: =XLOOKUP(1,(A2:A7=E2)*(B2:B7=F2),C2:C7). Você também pode digitar as fórmulas em português, com ponto e vírgula.

Preço por produto e tamanho
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50TeaLarge$3.00
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =PROCX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7)

Tea e Large se encontram na linha 5, então G2 retorna $3.00. Escolha Juice e Small: $3.00 de novo, de outra linha. Acrescente um quarto argumento para o caso em que nenhuma linha bate com os dois: =PROCX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7;"No such item").

Como as condições multiplicadas funcionam

A2:A7=E2 compara cada produto com E2 e retorna seis valores VERDADEIRO ou FALSO. Multiplicar duas listas assim transforma VERDADEIRO em 1 e FALSO em 0, e uma linha só dá 1 se for 1 nas duas. A coluna D mostra essa lista, espalhada a partir de uma fórmula.

A matriz em que a PROCX procura
D2
ABCDEFG
1ProductSizePriceBoth matchProductSize
2CoffeeSmall$2.500TeaLarge
3CoffeeLarge$3.500
4TeaSmall$2.000
5TeaLarge$3.001
6JuiceSmall$3.000
7JuiceLarge$4.000
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =(A2:A7=F2)*(B2:B7=G2)

Só D5 é 1. Mude F2 ou G2 e o 1 se move. Cada critério a mais é mais um *(intervalo=valor), e as condições não precisam ser de igualdade: *(C2:C7<3) acrescenta "preço abaixo de 3". Todos os intervalos precisam cobrir as mesmas linhas (A2:A7, B2:B7, C2:C7): se o intervalo de retorno tiver um tamanho diferente das condições, a PROCX retorna #VALOR! (#VALUE! em inglês; a tabela mostra os nomes de erro em inglês).

ÍNDICE e CORRESP com vários critérios

Para o Excel 2019 e anteriores, a CORRESP (MATCH) pode procurar o 1 na mesma matriz, e o ÍNDICE (INDEX) retorna o preço dessa posição.

Dois critérios com ÍNDICE e CORRESP
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50CoffeeLarge$3.50
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =ÍNDICE(C2:C7;CORRESP(1;(A2:A7=E2)*(B2:B7=F2);0))

Coffee e Large é a posição 2 da matriz, e o ÍNDICE retorna $3.50. Em português: =ÍNDICE(C2:C7;CORRESP(1;(A2:A7=E2)*(B2:B7=F2);0)). No Excel 2019 e anteriores, essa é uma fórmula de matriz: pressione Ctrl+Shift+Enter (Cmd+Shift+Enter no Mac) em vez de Enter, e o Excel mostra a fórmula entre chaves. Pressionar só Enter ali costuma retornar #N/D (#N/A) ou #VALOR!. No Excel 365, Enter basta. A forma com um critério só está na página ÍNDICE e CORRESP.

Juntar os critérios em uma chave

O outro jeito é transformar dois critérios em um, juntando os dois. O PROCV (VLOOKUP) precisa dos valores juntados em uma coluna auxiliar no começo da tabela (a página do PROCV mostra essa versão). A PROCX consegue juntar os intervalos dentro da fórmula, então não precisa de coluna auxiliar.

Juntar produto e tamanho em uma chave
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50JuiceLarge$4.00
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =PROCX(E2&"|"&F2;A2:A7&"|"&B2:B7;C2:C7)

A2:A7&"|"&B2:B7 monta seis chaves como Juice|Large, e a PROCX encontra Juice|Large entre elas: $4.00. Em português, a fórmula de G2 é =PROCX(E2&"|"&F2;A2:A7&"|"&B2:B7;C2:C7). Coloque um separador entre as partes. Sem ele, "AB" e "C" viram o mesmo "ABC" que "A" e "BC", e a busca pode retornar a linha errada.

Se o valor que você quer é um número e cada combinação aparece uma vez, a SOMASES (SUMIFS em inglês) dá a mesma resposta sem matriz nenhuma: =SOMASES(C2:C7;A2:A7;E2;B2:B7;F2). Ela retorna 0 em vez de um erro quando nada bate, o que pode esconder um erro de digitação.

Retornar todas as ocorrências com FILTRO

A PROCX e o ÍNDICE com CORRESP retornam a primeira linha que bate. Quando várias linhas batem e você quer todas, use a FILTRO (FILTER em inglês) com as mesmas condições.

Todos os pedidos de Phone da North
F2
ABCDEFG
1RegionProductQuarterSalesMatches
2NorthLaptopQ1120Q1210
3NorthPhoneQ1210Q2225
4SouthLaptopQ195Q3240
5NorthPhoneQ2225
6SouthPhoneQ2180
7NorthLaptopQ2135
8NorthPhoneQ3240
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =FILTRO(C2:D8;(A2:A8="North")*(B2:B8="Phone"))

Três linhas são North e Phone, então F2 espalha os trimestres e as vendas delas por F2:G4. Mude A3 para South e a lista cai para duas. Se nenhuma linha bater, a FILTRO retorna #CALC!; um terceiro argumento como "None" mostra um texto no lugar. Mais opções estão na página da FILTRO.

Prática: três critérios

Vendas por região, produto e trimestre
G4
ABCDEFG
1RegionProductQuarterSalesRegionSouth
2NorthLaptopQ1120ProductLaptop
3NorthLaptopQ2135QuarterQ2
4NorthPhoneQ1210Sales
5SouthLaptopQ195
6SouthPhoneQ2180
7SouthLaptopQ2110
8NorthPhoneQ2225
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Retorne em G4 as vendas da região em G1, do produto em G2 e do trimestre em G3.

Perguntas frequentes

Como uso a PROCX com vários critérios?

Multiplique uma comparação por critério e procure o 1: =PROCX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7). Cada comparação dá VERDADEIRO ou FALSO por linha, o produto só é 1 onde todas são VERDADEIRO, e a PROCX retorna a primeira dessas linhas.

Como faço ÍNDICE e CORRESP com dois critérios?

Use as mesmas condições multiplicadas dentro da CORRESP: =ÍNDICE(C2:C7;CORRESP(1;(A2:A7=E2)*(B2:B7=F2);0)). No Excel 2019 e anteriores, confirme com Ctrl+Shift+Enter (Cmd+Shift+Enter no Mac).

O PROCV pode usar dois critérios?

Não diretamente. Acrescente uma coluna auxiliar no começo da tabela que junta os dois valores, como =A2&"|"&B2, e procure o valor juntado: =PROCV(E2&"|"&F2;tabela_auxiliar;coluna;FALSO).

A SOMASES pode substituir uma busca com dois critérios?

Pode, quando o valor é um número e cada combinação aparece uma vez: =SOMASES(C2:C7;A2:A7;E2;B2:B7;F2). Ela retorna 0 em vez de #N/D quando nenhuma linha bate, e soma os valores se uma combinação aparecer duas vezes.

Como faço uma busca com critérios OU?

Some as condições em vez de multiplicar: (A2:A7="Tea")+(A2:A7="Juice") é 1 ou mais onde uma das duas é verdadeira. Procure um valor maior que 0, por exemplo com =PROCX(VERDADEIRO;((A2:A7="Tea")+(A2:A7="Juice"))>0;C2:C7).

Ilustração das linguagens de programação do Coddy

Aprenda a programar com o Coddy

COMEÇAR