dポイントプレゼントキャンペーン実施中!

D7に 2019/7/1と入力すると
H7 に7月1日〜7月31日の平日の日数を出したいのですが
式を教えてください。

また、別のシート名 『祝日リスト』のD2から祝日のデータが入った
シートがあります。

A 回答 (4件)

こんにちは!



D7セル入力日からその月の月末までの日数でよいのですね。
=NETWORKDAYS(D7,EOMONTH(D7,0),祝日リスト!D2:D100)
としてみてください。

※ 土曜日も平日に含みたい場合は
NETWORKDAYS.INTL関数というものが準備されています。m(_ _)m
    • good
    • 0

流石はExcelスペシャリストのみなさん回答が早い上に関数の組み立てが素晴らしいですね♪


さて、一つ気になったので確認ですが、別シートの『祝日リスト』はどんな形式でデータが入っているのでしょう?普通にスラッシュを使用した日付で入力されているのでしょうか?
疑問点の理由ですが、セルが日付型で入力されたスラッシュ形式の日付では年も持っています。基本的には入力時の年となるわけですが、その場合例えば、『当該年度』でブックを作成している場合には皆さんが提示してくれている関数が使えなくなります。2020年の1~3月の情報が一致しないためですね。
年によって変動する祝日と固定の祝日がありますが、正確な情報を求めたい場合にはその辺も考慮する必要がありますのでご注意ください。
私の場合祝日リストは月、日、週、曜のデータを持たせていて、週の指定がある場合には第何週の何曜日という風にしています。その場合『日』は空白にしたりしますね。
加えて春分の日と秋分の日は計算で求めていますが、それをやるのは結構面倒くさいです(笑)
それから、指定年を入力した際に祝日カレンダーを作り直すという処理を入れて対応しています。

ご参考までに・・・
    • good
    • 0

=SUMPRODUCT((WEEKDAY(D7-1+ROW(A1:A31),2)<7)*(D7-1+ROW(A1:A31)<="2019/08/01"*1)*ISERROR(MATCH(D7-1+ROW(A1:A31),holidays,0)))



現行は、"2019/08/01" 数式の中に入れていますが、セルに置いたほうがよいです。
A1:A31 この範囲は、数を増やしても同じです。

祝日リストのD2 ~のデータをholidays という名前定義を登録します。
---------------------
7月15日
8月11日
8月12日
9月16日
9月23日
10月14日
10月22日
11月3日
11月4日
11月23日
    • good
    • 0

どこかに7/1~7/31の日付データを作って、=textで、曜日を出して、=countifで数えるのでしょうか。


祝日は面倒くさいですね。もう一列、祝日を=vlookupする列を作って、さっきの曜日と=ANDを取って、それを=countifかな。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!