Как решить проблему с вычислением оценки уровня ученика (например, 11-й класс) - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь использовать даты, чтобы определить текущий уровень успеваемости учащегося (например, 11-й класс), с учетом даты окончания.

В этом случае моей датой окончания считается октябрьпервый.В идеале тот, кто родился 30 сентября 2000 года, должен быть «колледжем и за его пределами», но для того, кто родился 1 октября 2000 года, он все еще учится в 12-м классе.

Однако моя формула, похоже,иметь проблему.Необычно, это показывает даты между 1 октября 2000 и 31 декабря 2000 года, как будто они в колледже ... когда они не.Например, в дате 26 декабря 2000 года должно быть написано «12», а не «Колледж и за его пределами».

Я пытался оценить формулы, чтобы попытаться решить проблему, но, как оказалось, формулы Iвошел, оказалось истинным и идентифицировал это как правильное, когда они не.

Вот как выглядит таблица:

Столбец оценки - это то, как он должен выглядеть, столбец теста - это то, чем он является сейчас.

И формула, которую я использовал для определения этих оценок уровня, такова.

=IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY()),MONTH($H$2),DAY($H$2)),YEAR(B2)+18<YEAR(TODAY())),"College and beyond",IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY()),MONTH($H$2),DAY($H$2))),12,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+1,MONTH($H$2),DAY($H$2))),11,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+2,MONTH($H$2),DAY($H$2))),10,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+3,MONTH($H$2),DAY($H$2))),9,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+4,MONTH($H$2),DAY($H$2))),8,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+5,MONTH($H$2),DAY($H$2))),7,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+6,MONTH($H$2),DAY($H$2))),6,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+7,MONTH($H$2),DAY($H$2))),5,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+8,MONTH($H$2),DAY($H$2))),4,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+9,MONTH($H$2),DAY($H$2))),3,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+10,MONTH($H$2),DAY($H$2))),2,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+11,MONTH($H$2),DAY($H$2))),1,IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+12,MONTH($H$2),DAY($H$2))),"Kindergarden",IF(AND(DATE(YEAR(B2)+18,MONTH(B2),DAY(B2))<DATE(YEAR(TODAY())+13,MONTH($H$2),DAY($H$2))),"Pre-K","Not in school")))))))))))))))

1 Ответ

0 голосов
/ 14 мая 2019

Создайте таблицу, показывающую отношения возраста и класса (я поместил таблицу в столбцы H и I, хотя ее можно было бы переместить на другой лист, если это желательно), и тогда ваша формула станет очень простой. В ячейке D2 и вниз:

=VLOOKUP(DATEDIF(B2,DATE(YEAR(TODAY()),9,30),"y"),$H$2:$I$17,2)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...