プロが教える店舗&オフィスのセキュリティ対策術

現在、Excelで縦型の予定表を作成中です。
基本的な日にちや曜日、祝日等までは、自動で入力できるようなフォーマットを作りました。
このフォーマットで第1、3月曜日に休日と自動入力したいのですが、ほかの方の質問などを参考にいろいろと試してみましたが、うまくいきません。
また、第1,3月曜日が祝日と重なった場合、翌火曜日に休日と入力させたいです。
(例:B8セルに休日、B16セルに休日)

※B列には下記の数式を入れ祝日が自動で入力されるようになっています。
 =IF(ISERROR(MATCH(A2,祝日,0)),"",INDEX(祝日名,MATCH(A2,祝日,0)))

 この数式と合わせて上記内容のような自動入力の数式を入れることはできますか?
 教えてください。お願いします。

「Excelで予定表を作成中です。予定表に」の質問画像

A 回答 (6件)

[No.5]で使用した[第1・第3月曜休日を含む日本の祝日リスト]を添付します。


前回&今回の添付図が判読できなかったら、堪忍してください。
「Excelで予定表を作成中です。予定表に」の回答画像6
    • good
    • 0

マクロ音痴な私が作成したカレンダーのイメージを、単なる参考として、添付図として供します。


スペースの制約のため、2019年1月~5月だけに、かつ、月の列も省略しています。
新天皇即位による11連休の様子も伺えるかと。
「Excelで予定表を作成中です。予定表に」の回答画像5
    • good
    • 0

》 第1,3月曜日が祝日と重なった場合、翌火曜日に休日と入力させたいです


2019年5月の第1月曜はジャンボ大型連休の最終日だけど、貴方ハンとこは11連休に[
させ」ちゃうンですね!ギネスブックもの!凄い!太っ腹ぁ~!(パチ、パチ、…)
    • good
    • 0

No.2です。



前回は勘違いしていました。
第一・第三月曜を「休日」そして、その月曜が祝日ならば次の火曜を「休日」としなければならなかったのですね。

前回の配置通りとします。
B2セルの数式だけを変更してください。
すこし長くなりますが、

=IF(A2="","",IF(COUNTIF(Sheet2!$B:$B,A2),INDEX(Sheet2!$A:$A,MATCH(A2,Sheet2!$B:$B,0)),IF(OR(A2=A$2-1-WEEKDAY(A$2-1,3)+7,A2=A$2-1-WEEKDAY(A$2-1,3)+21),"休日",IF(WEEKDAY(A2)=3,IF(((DAY(A2)-1>=1)*(DAY(A2)-1<=7))+((DAY(A2)-1>=15)*(DAY(A2)-1<=21)),IF(COUNTIF(Sheet2!$B:$B,A1),"休日",""),""),""))))

にしてみてください。m(_ _)m
    • good
    • 0

こんばんは!



>自動で入力できるようなフォーマットを作りました。

どのような形でお作りになったのかが不明なので、勝手にこちらでやってみました。
↓の画像のような配置でSheet2に祝日データを作成しておきます。
(Sheet2には名前の定義の設定はしていません)

いずれにしてもシリアル値で扱った方が簡単なので、すべてシリアル値になるようにしています。
B1 → セルの表示形式のユーザー定義から 0年 として 2019 の数値のみを入力。
C1 → セルの表示形式のユーザー定義から 0月 として 1 のみを入力。
A2 → セルの表示形式のユーザー定義から d(aaa) としています。

まずA2セルの数式を
=IF(MONTH(DATE(B$1,C$1,ROW(A1)))=C$1,DATE(B$1,C$1,ROW(A1)),"")
として月末(31日)のA32セルまでフィル&コピー!

B2セルに
=IF(A2="","",IF(COUNTIF(Sheet2!$B:$B,A2),INDEX(Sheet2!$A:$A,MATCH(A2,Sheet2!$B:$B,0)),IF(OR(A1=A$2-1-WEEKDAY(A$2-1,3)+7,A1=A$2-1-WEEKDAY(A$2-1,3)+21),IF(COUNTIF(Sheet2!$B:$B,A1),"休日",""),"")))

という数式を入れ、こちらもB32セルまでフィル&コピー!

これでとりあえずはお望みの表示になると思います。

後はA1~C32セルを範囲指定 → C列境界部分で上下左右の小さな矢印になるところにマウスポインタを移動させ
Ctrlキーを押しながら右へ3列ずつドラッグ!
これでA~C列がそのままD~F列に、G~I列に・・・とコピーできます。

最後に各列1行目の「月」の数値を入れ替えるだけでその月に対応できるはずです。

※ あるかどうかわかりませんが・・・
仮に第一・第三月曜の翌日火曜日が「祝日」の場合、水曜日を「休日」にしなくてよいのですかね?
そこまで考慮すると相当長い数式になってしまいますね。m(_ _)m
「Excelで予定表を作成中です。予定表に」の回答画像2
    • good
    • 0

考え方を示すだけで自己解決できそうなので、アドバイス。



・・・
1日から7日の間なら第一月曜日。
15日から21日の間なら第三月曜日。

ということで、
1日から7日に月曜日かを判断させる数式、
15日から21日にも月曜日かを判断させる数式、
をそれぞれ入れて、月曜日なら「第一月曜日」「第三月曜日」を表示させるような数式を作りましょう。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています