Calcular o número de domingos no mês

8

No Microsoft Excel, estou procurando determinar o número de domingos em um determinado mês. Estou montando uma planilha de orçamento e algumas das subcontas recebem financiamento extra quando cinco domingos são no mês em vez de quatro.

A única célula a ser referenciada é o título da planilha que está na célula A1 e é igual ao mês atual. Por exemplo 6/1/14

    
por wbeard52 19.06.2014 / 03:45

6 respostas

11

Tente isso em que A1 é o dia inicial do mês:

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

Você também pode usá-lo em qualquer dia da semana. Basta alterar "Sun" e qualquer intervalo de datas, substituindo A1 pela data de início e EOMONTH(A1,0) pela data de término.

    
por 23.12.2014 / 14:17
9

Se a data mencionada for sempre a primeira do mês, esta também funcionará:

=INT((WEEKDAY(A1-1)+EOMONTH(A1,0)-A1)/7)
    
por 19.06.2014 / 04:20
3

Muito semelhante a uma resposta anterior, mas apenas um pouco mais limpa ...

=SUMPRODUCT(N(WEEKDAY(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))))=1))
    
por 29.06.2017 / 22:04
1

Eu acredito que encontrei outra maneira de esfolar esse gato (por assim dizer).

Se quiser evitar a inserção de datas e tiver uma planilha grande para projeção (18 meses, por exemplo), em vez disso, basta informar à fórmula qual é o seu mês e ano e formatá-la adequadamente. Isto juntou-se a uma referência absoluta às células de cabeçalho que contém o dia da semana em questão e você tem uma tabela muito mais compacta e mais limpa (na minha opinião).

A3 = Jan, B3 = 2017, C2: I2 = 3 Abreviação de Dia de Char (isto é, SUN)

Digite a fórmula na célula 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$2))

Caça feliz

    
por 15.03.2017 / 17:26
1
=DAY(EOMONTH(A1,0))-NETWORKDAYS.INTL(A1,EOMONTH(A1,0),11)

EDIT: Isso funciona no Excel 2016, não tenho certeza quando o NETWORKDAYS.INTL foi introduzido.

    
por 01.07.2017 / 19:39
0

Uma pequena variação da resposta aceita , em que você não precisa do primeiro dia do mês em A1 .

Isso é obtido substituindo A1 por:

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

Isto supõe que você o deseja para o mês atual.

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(date(year(today()),month(today()),1)&":"&EOMONTH(date(year(today()),month(today()),1),0))),"ddd")="Sun"))
    
por 10.01.2018 / 02:10