Comparando 1 célula a 3 outras células no Excel

0

Estou tentando comparar uma célula com 3 resultados possíveis em uma corrida. Se a célula for igual ao valor da primeira célula, eles obtêm 5 pontos, se a célula for igual ao valor da segunda célula, obtêm 3 pontos, se a célula for igual ao valor da terceira célula, obtêm 1 ponto. Se a célula não corresponder a nenhuma das três células possíveis, receberá 0 pontos. Eu tentei usar o abaixo, mas não funcionou

=IF(B4=$B$38,5,0)+OR(B4=B$39,3,0)+OR(B4=$B$40,1,0)
    
por michael 06.03.2018 / 22:49

2 respostas

5

Use INDEX (, MATCH ())

=IFERROR(INDEX({5,3,1},MATCH(B4,B$38:B$40,0)),0)

Outro método é usar CHOOSE:

=IFERROR(CHOOSE(MATCH(B4,B$38:B$40,0),5,3,1),0)

Ou apenas matemática:

=IFERROR(7-MATCH(B4,B$38:B$40,0)*2,0)

A chave com MATCH é que ela retorna a posição relativa que podemos usar com INDEX, ESCOLHER ou simplesmente fazer matemática com ela.

Portanto, se for igual ao valor em B40, ele retornará 3 . O índice e escolha, em seguida, retornaria o terceiro na matriz de opções. A matemática retornaria 1 7-3*2

Se você quiser usar IF, então você pode aninhar os IFs colocando o próximo no falso do anterior.

=IF(B4=$B$38,5,IF(B4=B$39,3,IF(B4=B$40,1,0)))

Ou, se você tiver o Office 365 Excel, poderá usar o IFS:

=IFERROR(IFS(B4=$B$38,5,B4=B$39,3,B4=B$40,1),0)
    
por 06.03.2018 / 22:51
2

A outra resposta de Scott é boa, mas o que você tem está perto de funcionar. Se você é absolutamente, com certeza que os três valores base são diferentes, você pode fazer

=IF(B4=$B$38,5,0)+IF(B4=B$39,3,0)+IF(B4=$B$40,1,0)
    
por 06.03.2018 / 23:16