Estou tentando comparar uma célula com três resultados possíveis em uma corrida. Se a célula for igual ao valor da primeira célula eles ganham 5 pontos, se a célula for igual ao valor da segunda célula eles ganham 3 pontos, se a célula for igual ao valor da terceira célula eles ganham 1 ponto. Se a célula não corresponder a nenhuma das três células possíveis, eles recebem 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)
Responder1
Usar ÍNDICE(,MATCH())
=IFERROR(INDEX({5,3,1},MATCH(B4,B$38:B$40,0)),0)
Outro método é usar ESCOLHER:
=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 ele retorna a posição relativa que podemos usar com INDEX,CHOOSE ou apenas fazer contas com ele.
Portanto, se for igual ao valor em B40, retornará 3
. O INDEX e o CHOOSE retornariam então o terceiro na matriz de opções. A matemática retornaria 17-3*2
Se quiser usar IF, 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)
Responder2
A outra resposta de Scottestá bem, mas o que você tinha está perto de funcionar. Se você estiverabsolutamente, positivamente certo 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)