月の日曜日の数を計算する


8

Microsoft Excelでは、特定の月の日曜日の数を特定しようとしています。私は予算のスプレッドシートを作成しており、サブアカウントのいくつかは、月の日曜日が4つではなく5つであるときに追加の資金を得ることができます。

参照しなければならない唯一のセルは、セルA1にあり、現在の月に等しいシートのタイトルです。例えば6/1/14

回答:


12

A1月の開始日であるこれを試してください:

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

開始日と終了日で"Sun"置き換えることにより、単に変更する曜日や日付範囲にこれを使用することもできます。A1EOMONTH(A1,0)


1
ワオ。これは本当に創造的です。理解させてください。間接関数と行関数で月全体の日付値を作成しますか?次に、それらをSun、Monなどの形式のテキストに変換します。Sunの状態を評価し、結果を1または0に変更してから、結果を合計します。あれは正しいですか?
wbeard52

うん正確に.. :)
Jay-ar 14

9

あなたが言及する日付が常に月の最初である場合、これも機能します:

=INT((WEEKDAY(A1-1)+EOMONTH(A1,0)-A1)/7)

シンプル。上記の式に比べて非常にエレガントです。ありがとう。
wbeard52 14年

3

前の回答と非常に似ていますが、ほんの少しきれいです...

=SUMPRODUCT(N(WEEKDAY(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))))=1))

2
=DAY(EOMONTH(A1,0))-NETWORKDAYS.INTL(A1,EOMONTH(A1,0),11)

編集:これはExcel 2016で動作します。NETWORKDAYS.INTLがいつ導入されたかはわかりません。


Networkdays.Intlとは、すべてのExcelで機能しない
-yass

ああ、あなたは正しい。彼がExcel 2010について言及しているのを見たことはありませんでした。2016年があります。networkdaysとは異なり、Networkdays.intlでは週末を選ぶことができます。この場合、週末は日曜日のみであるとExcelに伝えました。これが11の略です。したがって、日曜日をカウントしない期間の日数を示します。
-SRCP

1

この猫の皮を剥ぐ別の方法を見つけたと思います(いわば)。

日付の入力を避け、投影用の大きなシート(たとえば、18か月先)を使用する場合は、代わりに式に自分の月と年を伝え、それに応じて書式設定することができます。これは、問題の曜日を含むヘッダーセルへの絶対参照と結合し、はるかにコンパクトでクリーンなテーブルがあります(私の意見では)。

A3 = 1月、B3 = 2017、C2:I2 = 3文字日短縮形(つまり、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$2))

ハッピーハンティング


0

わずかな変動受け入れ答えあなたが月の最初の日を必要としません、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"))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.