Zagnieżdżona instrukcja IF


0

Mam problem z tym kodem dla zagnieżdżonej instrukcji = IF. Zakres jest w zasadzie:

<= 16, aby uzyskać 5 pkt
16-17, aby uzyskać 4 pkt
17–18, aby uzyskać 3 pkt
18–19, aby uzyskać 2 pkt
powyżej 19, aby uzyskać 1 pkt

a mój kod to:

=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))))

Myślę, że to prawda, ale wciąż pokazuje mi błędy.


Czy próbowałeś nawet rozwiązać ten problem? MS automatycznie wyskakuje błąd i podświetla problematyczną część formuły jako nawias / nawias po D50>19.
David Zemens

2
Myślę, że ten, który zdecydował się na tę składnię dla klauzuli excell, powinien przejść prosto do piekła. Szybko staje się nieczytelny ...
Laurent S.

Myślę, że rozsądnie byłoby zignorować opinię osoby, która nie potrafi przeliterować prostego słowa, takiego jak „Excel”, jednocześnie skarżąc się, że praca z produktem jest zbyt trudna. @Bartdude
ExactaBox

Odpowiedzi:


3

Przesuń prawy nawias po ostatnich 19 na koniec funkcji:

JEŻELI (D50 <= 16,5, JEŻELI (I (D50> 16, D50 <= 17), 4, JEŻELI (ORAZ (D50> 17, D50 <= 18), 3, JEŻELI (I (D50> 18, D50 <= 19), 2, JEŻELI (D50> 19,1, 0)))))


2

Operatory AND nie są tak naprawdę wymagane - na przykład pierwszy IF zajmuje się dowolnymi wartościami <= 16, więc dla następnego IF nie trzeba podawać> 16, to musi być przypadek - podobnie ostatni IF nie jest wymagany - to nie może być FAŁSZ, ponieważ wyczerpałeś wszystkie inne możliwości.

Chciałbym zacząć od drugiego końca spektrum - ta formuła powinna dać wymagane wyniki:

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


1

Usuń) po 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)))))
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.