Я думаю, что моя логика неверна ?, пожалуйста, помогите.Оператор Excel IF
Оценка Оценка: 80 А +, 70 А, 50 С, 40 F, 0-39 FAIL
=IF(B26=79,"A+",IF(B26>=69,"A",IF(B26>=49,"C",IF(B26=40,"A","F"))))
Я думаю, что моя логика неверна ?, пожалуйста, помогите.Оператор Excel IF
Оценка Оценка: 80 А +, 70 А, 50 С, 40 F, 0-39 FAIL
=IF(B26=79,"A+",IF(B26>=69,"A",IF(B26>=49,"C",IF(B26=40,"A","F"))))
Используя INDEX
, MATCH
, чтобы избежать вложенных IF
заявления, вставить ниже B2
:
=INDEX({"-","Fail","F","C","A","A+","-"},MATCH(A2,{-10,0,40,50,70,80,101,110}))
Я уверен, что не смог бы отобразить 72 на A, например. – ApplePie
да, это было бы, используя 0 или 1, поскольку последний параметр задает погоду или не использует точное соответствие. –
@ AlexandreP.Levasseur только что проверил карты '72' на' A'. Не могли бы вы объяснить, почему это не соответствовало бы? – zx8754
Общим решением для данного выпуска является VLOOKUP
. Массив может быть встроен в формулу или в другую ссылку на ячейку.
например:
=VLOOKUP(B26,{0,"FAIL";40,"F";50,"C";70,"A";80,"A+"},2)
или создать таблицу где-нибудь. Вы можете назвать его GradeTable, скажем, F1: G5.
Тогда Использование:
=VLOOKUP(B26,GradeTable,2)
Удалить последний 'IF' и просто положить' f' там, я думаю. – buzjwa