祝日と土曜、日曜の合計をカウントしたいです。
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
エクセルで 自動的に◯や数字を表示させることできます? 例えばなんですが 日付 山田 1 ◯ みたい
Excel(エクセル)
-
2列に入っているデータを1列で表示する関数について
Excel(エクセル)
-
Excelについての質問です。 B2セルの値とB1セルの値を比較し、B2セル値の方が小さかったら5"
Excel(エクセル)
-
-
4
Excelに詳しい方! B列が「日」なら「休」と表示されるようにしたいのに何で全部の曜日に「休」と入
Excel(エクセル)
-
5
Excelで表を作ったところに文字を打ったら下のようになるのですが、どうすれば枠内に文章を続けて行け
Excel(エクセル)
-
6
ExcelやWordを開くと、写真に書いてあることが出てきます。 ネットで調べて、再起動の仕方を試し
Excel(エクセル)
-
7
エクセルの関数について教えてください
Excel(エクセル)
-
8
【EXCEL】画像の黄色部分の抽出方法を教えてほしいです。
Excel(エクセル)
-
9
シフト表をエクセルで作るときに 例えばAさんの勤務が月、火、水で祝日は休み Bさんが木と金と出勤で
Excel(エクセル)
-
10
数字入力後他の文字等が表示される方法について
Excel(エクセル)
-
11
セルの数を求めたい
Excel(エクセル)
-
12
職場の人から聞かれており、こんなことができるか教えて下さい。 vbaとかはできません。。 下記リスト
Excel(エクセル)
-
13
Excelセルを跨いで合計を出す方法
Excel(エクセル)
-
14
在庫管理表に使うエクセルの関数が分かりません
Excel(エクセル)
-
15
特定の文字列を含む、住所を抽出する
Excel(エクセル)
-
16
エクセル関数を使って
Excel(エクセル)
-
17
エクセルをエクセレントに究める
Excel(エクセル)
-
18
Excelの表示についての質問
Excel(エクセル)
-
19
自動入力で今月はMONTH(TODAY())で良いのですが、翌月はどのようにすれば良いでしょうか。
Excel(エクセル)
-
20
Excel関数の式の作り方を教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のテキストファイルをexcel...
-
エクセルのことで教えてくださ...
-
Excelの警告について
-
excel2003 マクロボタンが押せない
-
Excelについて質問です。 A1タ...
-
Excelマクロで空白セルを詰めて...
-
Excelの時刻の不思議
-
エクセルで入力すると隣のセル...
-
Excelの複数条件の関数
-
エクセルでの2項目比較および...
-
Excelの数式について教えてくだ...
-
エクセルでファイルの最終更新...
-
Excelでの表の作り方
-
Excelで表を作ったところに文字...
-
【マクロ】フォルダ内にあるPDF...
-
エクセルの数式バーのフォント...
-
EXCELで数値が異なった数字を足...
-
EXCELの散布図で日付が1900年に...
-
半角カタカナをヘボン式ローマ...
-
Excelについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報