Подсчитать количество воскресений в месяце

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

единственная ячейка, на которую я должен ссылаться, - это заголовок листа, который находится в ячейке A1 и равен текущему месяцу. Например 6/1/14

5
задан wbeard52
источник

6 ответов

попробуйте это где A1 - день начала месяца:

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))),"ddd")="Sun"))

вы также можете использовать это в любой день недели просто изменить "Sun" и любой диапазон дат, заменив A1 С "дата начала" и EOMONTH(A1,0) С датой окончания.

11
отвечен Jay-ar 2016-05-12 01:55:39
источник

Если дата, которую вы упоминаете, всегда первая из месяца, то этот также будет работать:

=INT((WEEKDAY(A1-1)+EOMONTH(A1,0)-A1)/7)
9
отвечен teylyn 2014-06-19 02:20:09
источник

очень похож на предыдущий ответ, но немного чище...

=SUMPRODUCT(N(WEEKDAY(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))))=1))
3
отвечен user743733 2018-01-10 01:13:51
источник

Я думаю, что нашел еще один способ освежевать эту кошку (так сказать).

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

A3 = Jan, B3= 2017, C2: I2= аббревиатура 3 Char Day (т. е. SUN)

введите формулу в ячейку C3

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(DATEVALUE(TEXT(CONCAT($A3,"/",$B3),"mm/dd/yyyy"))&":"&EOMONTH(DATEVALUE(TEXT(CONCAT($A3,"/",$B3),"mm/dd/yyyy")),0))),"ddd")=C))

Счастливая Охота

1
отвечен Jeremy Cast 2017-03-16 12:12:59
источник
=DAY(EOMONTH(A1,0))-NETWORKDAYS.INTL(A1,EOMONTH(A1,0),11)

изменить: это работает в Excel 2016, не уверен, когда NETWORKDAYS.Был введен международный.

1
отвечен SRCP 2018-01-10 01:14:26
источник

небольшое изменение принято отвечать, где вам не нужен первый день месяца в A1.

Это достигается заменой A1 С:

date(year(today()),month(today()),1)

это при условии, что вы хотите за текущий месяц.

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(date(year(today()),month(today()),1)&":"&EOMONTH(date(year(today()),month(today()),1),0))),"ddd")="Sun"))
0
отвечен CalvT 2018-01-10 01:10:24
источник