Общая формула
=start+ROWS(exp_rng)-1-offset
Резюме
Чтобы создать динамический список дат, вы можете использовать формулу, которая увеличивает дату начала для создания и отображения дополнительных дат. В показанном примере формула B5 имеет следующий вид:
=start+ROWS($B$5:B5)-1-offset
где «начало» - это именованный диапазон G4, а «смещение» - именованный диапазон G5.
Примечания: (1) смещение представляет дни до даты начала для отображения в списке. (2) затенение даты начала выполняется с помощью условного форматирования, как описано ниже.
Объяснение
Даты в Excel - это просто серийные номера, отформатированные для отображения в виде дат. Это означает, что вы можете выполнять математические операции с датами для вычисления дней в будущем или прошлом.
В показанном примере дата в именованном диапазоне "start" предоставляется функцией СЕГОДНЯ:
=TODAY() //returns current date
Формула в B5 начинается с даты начала и увеличивает дату на единицу, используя расширяющийся диапазон внутри функции ROWS:
ROWS($B$5:B5) // returns row count
ROWS возвращает количество строк в диапазоне. По мере копирования формулы диапазон расширяется, и количество строк увеличивается на единицу в каждой новой строке. Из этого значения мы вычитаем 1, поэтому дата в первой строке не увеличивается.
Затем мы вычитаем значение из именованного диапазона «смещение» (G5). Смещение - это просто способ начать список дат раньше, чем указанная дата начала. Если смещение равно нулю или пусто, первая дата в списке будет равна дате начала.
Для отображения дня недели формула в C5:
=TEXT(B5,"ddd")
Чтобы отобразить месяц, формула в D5:
=TEXT(B5,"mmm")
В этой статье вы найдете дополнительные примеры пользовательских форматов чисел в Excel.
Формулы в B5, C5 и D5 можно скопировать на любое количество строк.
Выделение даты начала
Дата начала заштрихована правилом условного форматирования на основе этой формулы:
=$B5=start
Дополнительные примеры применения условного форматирования к формулам см. В этой статье.