Instrução IF aninhada

0

Estou tendo um problema com esse código para a declaração aninhada = IF. O intervalo é basicamente:

<= 16 para obter 5 pontos
16-17 para obter 4 pontos
17-18 para obter 3 pontos
18-19 para obter 2 pontos
acima de 19 para obter 1 pt

e meu código é:

=IF(D50<=16,5,IF(AND(D50>16,D50<=17),4,IF(AND(D50>17,D50<=18),3,IF(AND(D50>18,D50<=19),2,IF(D50>19),1 ,0))))

Eu acho que está correto, mas ainda está me mostrando erros.

anand
fonte
Você já tentou solucionar isso? O MS exibe um erro automaticamente e destaca a parte problemática da sua fórmula como o colchete / parêntese depois D50>19.
David Zemens
2
Penso que quem decidiu esta sintaxe para a cláusula if excell deve ir direto para o inferno. Ele rapidamente se tornar ilegível ...
Laurent S.
Eu acho que seria sensato ignorar a opinião de uma pessoa que não pode soletrar uma palavra simples como "Excel" enquanto reclama que o produto é muito difícil de trabalhar. @Bartdude
ExactaBox

Respostas:

3

Mova o colchete direito após os últimos 19 para o final da função:

IF (D50 <= 16,5, IF (AND (D50> 16, D50 <= 17), 4, IF (AND (D50> 17, D50 <= 18), 3, IF (AND (D50> 18, D50 <= 19), 2, IF (D50> 19,1, 0)))))

user614127
fonte
2

Os ANDs não são realmente necessários - por exemplo, o primeiro IF lida com valores <= 16, portanto, para o próximo IF, você não precisa especificar> 16, esse deve ser o caso - da mesma forma, o último IF não é necessário - não pode ser FALSO porque você esgotou todas as outras possibilidades.

Também começaria no outro extremo do espectro - essa fórmula deve fornecer os resultados necessários:

=IF(D50>19,1,IF(D50>18,2,IF(D50>17,3,IF(D50>16,4,5))))

barry houdini
fonte
1

Remova o) após D50> 19

=IF(D50<=16,5,IF(AND(D50>16,D50<=17),4,IF(AND(D50>17,D50<=18),3,IF(AND(D50>18,D50<=19),2,IF(D50>19,1,0)))))
Declan_K
fonte