2015-03-02 6 views
1

Я думаю, что моя логика неверна ?, пожалуйста, помогите.Оператор 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")))) 
+0

Удалить последний 'IF' и просто положить' f' там, я думаю. – buzjwa

ответ

0

Используя INDEX, MATCH, чтобы избежать вложенных IF заявления, вставить ниже B2:

=INDEX({"-","Fail","F","C","A","A+","-"},MATCH(A2,{-10,0,40,50,70,80,101,110})) 

enter image description here

+0

Я уверен, что не смог бы отобразить 72 на A, например. – ApplePie

+1

да, это было бы, используя 0 или 1, поскольку последний параметр задает погоду или не использует точное соответствие. –

+0

@ AlexandreP.Levasseur только что проверил карты '72' на' A'. Не могли бы вы объяснить, почему это не соответствовало бы? – zx8754

0

Общим решением для данного выпуска является VLOOKUP. Массив может быть встроен в формулу или в другую ссылку на ячейку.

например:

=VLOOKUP(B26,{0,"FAIL";40,"F";50,"C";70,"A";80,"A+"},2) 

или создать таблицу где-нибудь. Вы можете назвать его GradeTable, скажем, F1: G5.

GradeTable

Тогда Использование:

=VLOOKUP(B26,GradeTable,2) 
Смежные вопросы