Учет времени в формуле (Microsoft Excel)
Кен хотел бы отображать содержимое ячейки в зависимости от времени суток. Например, если ячейка C1 содержит функцию СЕЙЧАС (для времени суток), в другой ячейке ему нужна формула, которая проверяет это время. Если до 17:00, формула отображает содержимое ячейки E1.
Если время после 17:00, формула отображает содержимое ячейки F1. Кен не знает, как рассчитать оператор IF, чтобы он правильно проверял время.
Ключ к выполнению этой задачи — помнить, как Excel хранит время и дату внутри себя. Когда вы используете функцию СЕЙЧАС, она возвращает серийный номер, представляющий текущую дату и время. Все в этом серийном номере слева от десятичной точки — это дата, а все справа — время. Избавьтесь от части даты, прежде чем проводить сравнение, и затем вы сравниваете яблоки с яблоками (так сказать).
Один из способов избавиться от части даты в серийном номере:
=IF(C1-INT(C1)<TIME(17,0,0),E1,F1)
Функция ВРЕМЯ возвращает только временную часть серийного номера даты / времени для тех часов, минут и секунд, которые вы указали в параметрах. Так как вы хотите 17:00, тогда нужно установить только часть часов на 17.
Другой способ удалить часть даты из серийного номера — использовать функцию MOD следующим образом:
=IF(MOD(C1,1)<TIME(17,0,0),E1,F1)
Функция возвращает остаток от деления значения в C1 на 1.
Остаток в данном случае — это все, что находится справа от десятичной точки — время.
Однако, возможно, самый простой способ провести сравнение — полностью пропустить математические вычисления для значения в C1. Вместо этого используйте функцию ЧАС следующим образом:
=IF(HOUR(C1)<17,E1,F1)
Функция ЧАС проверяет порядковый номер даты / времени в ячейке C1 и возвращает значение от 0 до 23, в зависимости от часа дня, представленного этим порядковым номером. Сравните это с 17 (значение 17:00), и ваша формула может отобразить желаемое значение в зависимости от времени суток.
Важно помнить, что функция СЕЙЧАС (на которой основана ваша формула) обновляется только при обновлении рабочего листа. Это означает, что если ваш рабочий лист обновлен в 16:55, а затем не обновлен до 17:10, то в течение этих 15 минут формула вернет значение «до 17:00», потому что она еще не знает его. после 17:00 до перерасчета.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (12889) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.