
祝日と土曜、日曜の合計をカウントしたいです。
Excelで祝日シートを作成しております。
別シートのad5セルにはリストで年が選択できるようになっています。
ad6には同様に月がリストで選択可能です。
例えばad5セルで2024、ad6セルで7を選択した場合、2024年7月の土曜、日曜、祝日の合計がでるようにしたく、以下の計算式を入れました。
=SUMPRODUCT(--(WEEKDAY(DATE(AD5, AD6, ROW(INDIRECT("1:" & DAY(EOMONTH(DATE(AD5, AD6, 1), 0))))))=7)) + SUMPRODUCT(--(WEEKDAY(DATE(AD5, AD6, ROW(INDIRECT("1:" & DAY(EOMONTH(DATE(AD5, AD6, 1), 0))))))=1)) + COUNTIFS(祝日リスト!$A$2:$A$536, ">=" & DATE(AD5, AD6, 1), 祝日リスト!$A$2:$A$536, "<=" & EOMONTH(DATE(AD5, AD6, 1), 0), 祝日リスト!$A$2:$A$536, "<>" & TEXT(WEEKDAY(DATE(AD5, AD6, ROW(INDIRECT("1:" & DAY(EOMONTH(DATE(AD5, AD6, 1), 0)))))), "ddd"))
結果としては、2024年7月は土曜、日曜に祝日がないため9となります。
しかし、土曜、日曜に祝日の場合、土曜、日曜の個数と祝日を2日分としてしまいます。
土曜、日曜に祝日の場合は1日としてカウントするには、上記の式をどのように修正するのが良いでしょうか。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
どういう計算方法を取っているのかについて何ら説明がありませんが、とても解読する気にはならない式なので、文章にある事象だけからですが・・
>しかし、土曜、日曜に祝日の場合、土曜、日曜の個数と祝日を
>2日分としてしまいます。
単純に、土日の数と祝日の数を加算して計算していませんか?
ご質問のケースなら、
『ある日が土日または祝日ならカウント、それ以外ならカウントしない』
というロジックで計算すれば良いのではないでしょうか?
多分、AND と OR のロジックを整理できていないのではないかと推測します。
>土曜、日曜に祝日の場合は1日としてカウントするには、
>上記の式をどのように修正するのが良いでしょうか。
残念ながら、上記の理由で、とても修正する気にはなりません。
SUMPRODUCT関数を利用して計算したいのなら・・
「祝日リスト」がどのような形式になっているのかも不明ですが、仮に「振替休日」がリストに含まれているとしてよいのなら、以下で算出可能と思います。
(考え方は、前述の通りです)
=SUMPRODUCT((((WEEKDAY(ROW(OFFSET($A$1,DATE(AD5,AD6,0),,DAY(DATE(AD5,AD6+1,0)))),11)>5)+COUNTIF(祝日リスト,ROW(OFFSET($A$1,DATE(AD5,AD6,0),,DAY(DATE(AD5,AD6+1,0))))))>0)*1)
ちなみに、No1様も回答なさっている NETWORKDAYS関数を利用すれば、同じ結果をもっと簡単に求められますし、式の視認性も良くなると思います。
=DAY(DATE(AD5,AD6+1,0))-NETWORKDAYS(DATE(AD5,AD6,1),DATE(AD5,AD6+1,0),祝日リスト)
※「振替休日」がリストに含まれていない場合は、「振替休日」の分(=祝日が日曜日のケース)を加算する必要があります。
No.2
- 回答日時:
「途中経過時の見え方に違和感」が、何に対してなのかが定かで
ないので、別方法に抵抗があるのでしょうか?
別方法なら、振替休日などの祝日データが正しければ、問題なく
取得できるかと思います。
添付画像だと3行目だけ非表示にしていますが、問題なく日数を
出しています。
=DAY(EOMONTH(B$3,0))-NETWORKDAYS(B$3,EOMONTH(B$3,0),Sheet2!$A$2:$A$41)
(年の部分は、来年分は修正してあります)
2025年2月の場合なら、振替休日と28日の月末を考慮しても、
10日が取得できているので、問題なく動作しているかと。

返信遅くなりました。
代替案までご提示して下さりありがとうございます。
フォーマットの作りから見直して想定した通りのものになりました。
No.1
- 回答日時:
面倒な方法で計算されていますね。
修正するより別方法を検討しては。
土日祝日を数えのではなく、期間内の日数を求めてから、期間内の
営業日(稼働日)を数えて引いたらどうですか。
指定月の日数:EOMONTH関数とDAY関数
https://h1r0-style.net/excelvba/get-days-of-month/
稼働日数:NETWORKDAYS関数
https://tokusengai.com/_ct/17550247
ちなみに、以前の質問は解決されたのですか?
https://oshiete.goo.ne.jp/qa/13849637.html
早速のご回答ありがとうございます。
仰るとおり当初は営業数でけんとうしていたのですが、途中経過時の見え方に違和感があり、今回の方法を考えてました。
別質問の方について回答できておらず、失礼いたしました。
Windows10でもストアなどからペイントのバージョンアップが可能という記事をみたので、後ほど試そうと考えており後回しにしておりました。
結論としては、貴方にご回答いただいた案が元々想定していた答えだった為、このあとクローズします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 週毎の集計 2 2023/08/04 16:56
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- 営業・販売・サービス Excelでの〇営業日後の求め方 4 2023/11/08 09:51
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- Excel(エクセル) Excelのカレンダーを作成しようと思っているのですがうまくいきません 4 2023/11/18 05:10
- 労働相談 給料計算について 私が働いてる会社は土日祝日休みです。 7月17日月曜日が祝日で、会社休み 7月22 3 2023/09/08 12:14
- その他(Microsoft Office) エクセルについて教えてください。 3 2023/05/19 18:19
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) 当番表の作成について 3 2023/12/25 17:18
- 求人情報・採用情報 気になる求人があったのですが、、、 年間休日:105日 休日:日、祝日 土曜日の出勤が月に2~3日 1 2022/12/03 10:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について
-
エクセル GROUPBY関数について...
-
Excelで4択問題を作成したい
-
エクセル
-
エクセルについて
-
グループごとの個数をカウント...
-
エクセルシートの見出しの文字...
-
Amazonでマイクロソフトオフィ...
-
エクセルの複雑なシフト表から...
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
グループごとの人数のカウント
-
グループごとの人数のカウント
-
【マクロ】別ファイルへマクロ...
-
【マクロ】左のブックと右のブ...
-
【マクロ】【相談】Excelブック...
-
9月17日でサービス終了らし...
-
【マクロ】元データと同じお客...
-
エクセルの循環参照、?
-
【エクセル】期限アラートについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報