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.