Предполагая, что вы вводите в ячейку A1 для месяца и года числовую запись, такую как 01/18, 1/18, 01/2018 или 1/2018, вы можете использовать следующие формулы для составления списка.
Начните с размещения следующей формулы в B3.
=DATE(RIGHT(A1,LEN(A1)-FIND("/",A1)),LEFT(A1,FIND("/",A1)-1),1)+(WEEKDAY(DATE(RIGHT(A1,LEN(A1)-FIND("/",A1)),LEFT(A1,FIND("/",A1)-1),1))=1)
Это выглядит немного сложнее, но это связано с попыткой разобраться с 4 возможными различными записями даты в A1 Если у вас другой формат ввода даты, для разработки даты первого числа месяца потребуется другая формула.
В приведенной выше формуле он в основном находит «/» и использует свою позицию, чтобы определить, какую часть строки нужно разорвать, чтобы получить цифры для месяца и года соответственно. После получения цифр за месяц и год информация сбрасывается в формулу DATE, которая ищет информацию в следующем формате:
=DATE(year, month, day)
Поскольку известно, что дата является началом исследуемого месяца, установите день = 1. Следующая часть уравнения WEEKDAY определяет день недели. Если день недели воскресенье, то первый день месяца должен быть увеличен на 1. Поскольку логический результат TRUE является эквивалентом 1 в математических операциях Excel, а FALSE - ЭКВИВАЛЕНТОМ 0, выполняется простое добавление WEEKDAY()= 1 в формулу для определения первого месяца.
Если у вас есть начальное число для начала списка, вам нужно добавить 1 к дате следующей строки и добавить еще 1 к дате, если строка выше - суббота. Кроме того, вы хотите убедиться, что ваше новое значение даты не превышает конец месяца, и для моей процедуры я также хочу убедиться, что строка выше не пуста. Используйте следующую формулу в B4 и скопируйте достаточно далеко, чтобы охватить максимальное количество возможных дат.
=IF(B3<>"",IF(B3+1+(WEEKDAY(B3)=7)>EOMONTH($B$3,0),"",B3+1+(WEEKDAY(B3)=7)),"")
Это создаст список дат, пропускающих воскресенья.
У вас есть несколько вариантов для отображения дня недели. Вариант 1 - сделать это по формуле. В основном следующая формула возьмет дату из столбца B и отформатирует значение так, чтобы день недели отображался только в виде строки. В A3 используйте следующую формулу и скопируйте:
=TEXT(B3,"DDDD")
OR
=IF(B3<>"",TEXT(B3,"DDDD"),"")
Второе уравнение будет отображаться пустым, если вы копируете формулу ниже формул в B и в итоге ссылаетесь на пустую ячейку вместо ячейки, содержащей "".