Consulta de vários critérios complicada no Microsoft Excel

1

Eu tenho uma consulta complicada para executar em uma planilha configurada assim:

 A  B  C  D 
a1 b1 c1 d1
a2 b2 c2 d2
.. .. .. ..

As seguintes condições devem ser cumpridas juntas:

  • A é uma string específica foo

  • B deve ser uma string específica bar

  • C deve ser VERDADEIRO

Se todos os itens acima não forem cumpridos ao mesmo tempo, forneça o valor 3. Se os itens acima forem cumpridos, mas D não for a string desejada foobar , forneça o valor 2. Se todas as condições forem preenchido (incluindo a condição D), então retorne 1.

Estou usando a seguinte sintaxe:

=IF(ISERROR(MATCH(1, (A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE),0))=TRUE, 3, IF(ISERROR(MATCH(1, (A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE)*(D2:D449="foobar"),0))=TRUE, 2, 1))

Parece haver um problema com o último "ISERROR". Ele não retorna o valor correto sozinho.

    
por mannaroth 17.09.2017 / 15:21

1 resposta

1

Isso funciona:

=IF(ISERROR(MATCH(1,(A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE),0)),3,IF(ISERROR(MATCH(1,1*(D2:D449="foobar"),0)),2,1))

Você não precisa verificar A, B e C pela segunda vez, porque a única maneira de chegar ao segundo IF () é quando os valores corretos foram encontrados lá.

Editar: sua fórmula publicada também funciona corretamente. Mas ambas as fórmulas são array e devem ser digitadas com Ctrl + Shift + Enter

    
por 17.09.2017 / 21:13