[[20241119122255]] 『曜日の計算より祝日 振替休日を分けて計算・表示』(まいける) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『曜日の計算より祝日 振替休日を分けて計算・表示させるには?』(まいける)

お世話になっております。

金融予定資料を作っており、祝と振を日付から分けて表示したく、試行錯誤しております。
※祝・・・祝日
※振・・・振替休日 の略

下記にデータと今回作成した計算式を記載いたします。

事象)セルC25へ支払日:2025/2/24を入力
   セルD25へ「8」が表示
   セルB列に記載している=MID($E$2,D25,1)計算より「祝」が表示

希望) =MID($E$2,D25,1)計算より「振」と表示

格納データ)
セルE4  2025/1/1

セルE26 2025/12/31
※セルE4〜セルE26へ祝日の日付およびF列へ祝祭日名が格納

セルD25へ「2025/2/24」を入力した時に下記数式では返り値が「8」となります。
=IF(VLOOKUP($C25,祝祭日,1)=$C25,8,IF(AND(VLOOKUP($C25-1,祝祭日,1)=$C25-1,WEEKDAY($C25-1,2)=7),9,WEEKDAY($C25,2)))

これが「9」にするにはどういう計算式が必要でしょうか。

→セルE2に「月火水木金土日祝振」と表記しており、
 計算式の結果より曜日をB列に表示するようにしています。
 最初の計算式で「祝」で止まってしまうため、「祝」「振」と分けて表示したく、ご教授いただければ幸いです。
 
記載が言葉足らずなどありましたら、ご指摘ください。
お手数おかけしますが、困っておりアドバイスお待ちしております。 

< 使用 Excel:Microsoft365、使用 OS:Windows10 >


 祝日リストのF列には
 振替休日の場合「振替休日」と入力されてるんですか?

 だとしたら
 E2セルは使いませんけど

 =IFERROR(IF(LEFT(VLOOKUP($C25,祝祭日,2,FALSE))="振","振","祝"),TEXT($C25,"aaa"))

 これで「2025/2/23」は「祝」、「2025/2/24」は「振」
 と表示されます。

 参考まで
(笑) 2024/11/19(火) 13:09:09

 今の数式をできるだけ活かすとすれば、
 条件判定の順番を入れ替えて、「前日が祝祭日かつ前日が日曜なら 9」 を先に判定すればよいのでは?

 作り直しが可能であれば、
 祝日テーブルと振替休日テーブルを別に作って、COUNTIFでテーブルにあれば8とか9を取得したほうが
 混乱しなくて済むのでは?

(xyz) 2024/11/19(火) 13:39:35


 >セルD25へ「2025/2/24」を入力した時に下記数式では返り値が「8」となります。
 >=IF(VLOOKUP($C25,祝祭日,1)=$C25,8,IF(AND(VLOOKUP($C25-1,祝祭日,1)=$C25-1,WEEKDAY($C25-1,2)=7),9,WEEKDAY($C25,2)))
 とD25はC25の間違いだとして、
 この式で 2025/2/24 に対して結果が 8 ということは、祝祭日のリストの中に 2025/2/24 があるということですよね?

 この式を使うなら祝祭日のリストから振替休日は除いておかないと。
(´・ω・`) 2024/11/19(火) 14:09:32

 ネットで調べてみると、月曜とは限らない様ですが、大丈夫ですか?
     ↓
 >「国民の祝日」が日曜日に当たるときは、その日後においてその日に最も近い「国民の祝日」でない日を休日とする。

(半平太) 2024/11/19(火) 14:21:35


 そーなんですね。来年そうなってますね
 2025年5月3日(土) 憲法記念日
 2025年5月4日(日) みどりの日
 2025年5月5日(月) こどもの日
 2025年5月6日(火) 振替休日

 G4:G25に祝か振を入れておいてVLOOKUP(C25,$E$4:$G$25,3)で引くのが良さそうですね
(´・ω・`) 2024/11/19(火) 14:36:45

 >G4:G25に祝か振を入れておいて
 >VLOOKUP(C25,$E$4:$G$25,3)で引くのが良さそうですね

 完全一致検索にしないで大丈夫ですか?
(笑) 2024/11/19(火) 16:04:46

 だめですね
 そのようにしてください
(´・ω・`) 2024/11/19(火) 16:27:52

 いろいろ書いてありますけど
 当方の「2024/11/19(火) 13:09:09」の式で何も問題ないでしょ?

 祝日リストのF列に振替休日なら「振替休日」と入力されてるんですよね。
 入ってないのなら入れてください。
「振替休日」でも「振休」でもいいです。

	B	C
25	祝	2025/5/5
26	振	2025/5/6
27	水	2025/5/7

 提示の式が「$C25」になっているので、それにならって複合参照にしましたけど
 別に式を右にコピーするわけじゃないんですよね。
 $C25 → C25

 それと、その式は C25が空白だったら「土」と表示されます。
 空白の場合もあるんだったら

 B25 =IF(C25="","",IFERROR(IF(LEFT(VLOOKUP(C25,祝祭日,2,FALSE))="振","振","祝"),TEXT(C25,"aaa")))
 または
 B25 =IFERROR(IF(LEFT(VLOOKUP(C25,祝祭日,2,FALSE))="振","振","祝"),TEXT(C25,"aaa;;"))

 以上、参考まで
(笑) 2024/11/19(火) 17:00:55

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.