Формула Excel, которая увеличивает академическую оценку каждый год

Формула Excel, которая увеличивает академическую оценку каждый год

У меня возникли серьезные проблемы с созданием простой формулы в Excel. Представьте, что у меня есть таблица студентов и их текущая академическая оценка. Я хотел бы иметь формулу, которая автоматически распознает, сколько времени прошло с базовой даты создания электронной таблицы, и будет увеличивать академическую оценку каждого студента на единицу в зависимости от того, сколько лет прошло с базовой даты. Я хотел бы, чтобы она увеличивала оценку в зависимости от того, сколько раз было 1 июня, так как это примерно время начала лета, и можно считать, что студенты перешли в следующий класс.

Некоторые вещи, которые я попробовал, и некоторые параметры, которые я устанавливаю:

Я бы хотел, чтобы оценки начинались с «не учится в школе», затем «дошкольный класс 3», «дошкольный класс 4», «детский сад», «1-й», «2-й», ... «12-й» и, наконец, «окончил среднюю школу».

Я присвоил каждой академической оценке целочисленное значение, чтобы целочисленное значение можно было увеличивать. Я присвоил 1 «не в школе», а 2 — «Pre-K 3» и так далее, пока «закончил среднюю» школу не станет 17.

По сути, я присваиваю это базовое значение каждому ученику для того класса, в котором он учится в данный момент, на момент создания электронной таблицы.

При открытии этой таблицы в будущем я хочу, чтобы формула вычисляла, сколько времени прошло с даты создания, сколько раз это означало, что это было 1 июня, и это количество раз будет равно количеству увеличений каждого целого числа академической оценки для каждого студента, что затем будет отражено в строке, которую представляет это целое число.

У меня возникли проблемы с "приращением" чего-либо в Excel. Похоже, в Excel нет встроенной такой функции. Я пытаюсь избегать использования VBA.

Для простоты скажем:

Мой диапазон всех оценок называется «Оценки»,

Мой диапазон всех целочисленных значений оценок называется «Grade_Values»,

мой диапазон базовых оценок учеников называется «Beginning_Grade»,

и моя базовая дата — 01.01.2024.

решение1

Во-первых, Excel (и все другие электронные таблицы?) хранит даты как количество дней от «базовой даты», десятичная часть того же числа указывает, насколько далеко от этой даты находится соответствующее ВРЕМЯ дня:
Введите a 0в любую ячейку и измените Cell formatting(CTRTL+1) на , Dateчтобы увидеть базовую дату.

https://help.libreoffice.org/latest/en-US/text/scalc/01/04060102.html- содержит все перечисленные функции, связанные с датой и временем.(Не знаю, можно ли найти то же самое для Excel).

Первый необязательный способ попробовать (если он даст достаточно хороший результат) прост:
=INT( (TODAY()-A1) / 365.25 )
... где 365,25 — это среднее количество дней в году, предполагая, что у вас есть «начальная дата» в A1.
Это даст вам количество лет, прошедших между датами.
Возможно, вам придется немного его подправить, чтобы получить то, что вы хотите для своего приложения.
Отрицательные значения будут означать «не учится в школе», от 0 и выше — насколько далеко продвинулся в обучении данный человек.

Обратите внимание также, что TEXT()функция может предоставить вам пользовательское (строковое) представление даты; она использует ту же строку форматирования, что и Cell formatting- т.е. как showздесь.

Поразмыслив, вы, возможно, придете к более точной формуле (если это действительно необходимо).

Связанный контент