EXCEL条件付き書式でカレンダーを作成し、祝日を表示する方法

このQ&Aのポイント
  • EXCELでカレンダーを作成し、祝日を表示する方法について解説します。年数を入力すると自動で祝日が表示される関数を作成し、条件付き書式を使って休日の文字色を変更します。
  • 問題として、名前を付けることでブック単位になり、同じ年の祝日しか表示されなくなることがあります。一方、シート毎に名前を付けると条件付き書式が登録できなくなります。この問題に対する解決方法をご教授ください。
  • また、EXCELでのカレンダー作成には特定のサイトを参考にすることをおすすめします。
回答を見る
  • ベストアンサー

EXCEL、条件付き書式でカレンダー

EXCELでカレンダーを作っています 年数を入力したら、自動で祝日が表示される関数を作成し、 http://www.eurus.dti.ne.jp/yoneyama/Excel/jyo-syo_doniti.html 上記のサイトを参考に、祝日の一覧に名前を付けて 「=COUNTIF(祝日,B3)=1」を条件付き書式に登録して休日の文字色変更は出来ました。 コレを原紙としてブック内でコピーしていきたいのです。 しかし、普通に名前を付けるとブック単位になるので、同じ年の祝日しか見なくなり、 シート毎の名前を付けると今度は条件付き書式に登録できなくなります。 この問題になにか解決方法がありましたらご教授下さい。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

元のご相談: >年数を入力したら、自動で祝日が表示される関数を作成し、 (中略) >条件付き書式に登録して休日の文字色変更は出来ました。 >コレを原紙としてブック内でコピーしていきたいのです。 という前提でご質問が始まっていましたので,つまりあなたはご自分のエクセルで >コピー1に2011年と入力 → >コピー1内の祝日リストが2011年の物になる この部分は既に実現できているということですね。 追加ご質問: >原紙で作ったシートをコピーして使い回して行きたいので 何をどこに作ってあって,一体何をコピーしたいのか,アナタのブックの構成のご説明が不明瞭なので,お話が見えなくなっています。 解決策1:(最も簡単。推奨)  祝日一覧と条件付き書式の表を「同じシートの中に」作成しておく  祝日一覧のセル範囲に「祝日」と名前を定義しておく  祝日一覧は,所定のセルに年を記入すると自動でその年の祝日を計算する  条件付き書式は =COUNTIF(祝日,B3) としておく 以上の段取りで「シートを複写する」と,条件付き書式は「自分のシート内の祝日」を参照します。 解決策2:(推奨)  祝日一覧や条件付き書式は自由に作成する  シートではなく「ブックを複写」する 以上の段取りで,コピーブック1は今年を記入し,今年の計算をさせ,今年の休日に色が付きます。 コピーブック2は来年を記入し,来年を計算させ,来年の休日に色が付きます。 解決策3:(あまり推奨ではない)  祝日のシートを独立に作成する  祝日のセル範囲に「祝日」と名前を定義する  祝日のシートを複写し2011年を計算させたら,シート名を「祝日一覧2011年」と書き換える  祝日シートを別に複写し2012年を計算させたら,シート名を「祝日一覧2012年」と書き換える 条件付き書式は =COUNTIF(INDIRECT(TEXT(B3,"祝日一覧yyyy年!!祝日")),B3) とする 解決策4:(最も簡単)  祝日シートのB1に2011と記入し,A1からA17に2011年の祝日を計算させる  A1:B17をコピーしてA18に貼り付け,B18には =B1+1 と記入する  A18:B34をコピーし,下向けに10年分ほど貼り付ける  A列に「祝日」と名前を定義する。 条件付き書式は =COUNTIF(祝日,A3) とする。

wtm909
質問者

お礼

回答ありがとうございます。 解決策1と同じ事をしていたのですが質問のように、sheet1を原紙として コピーしたシートはsheet1の祝日一覧を参照しているようで困っていました。 ネットで調べたところ、 「"名前を付ける"はブック単位で"sheet1!祝日"と 名付ければ別シートに同じ名前を付けられる」という記事を読み、 その解決策は無いか。と質問した次第でした。 本日改めて1から作り直し、解決策1と同じ方法を採用したところ 期待通りの結果が得られました。 やっている事は同じはずなのに、昨日作ったファイルは何故か正しい結果が得られませんでした。 原因は分かりませんが、とりあえず本日作成したファイルを使っていこうと思います。 ありがとうございました。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

祝日を年単位で計算する方法もあります。 http://www.geocities.jp/chiquilin_site/data/080307_holiday.html

wtm909
質問者

お礼

回答、ありがとうございます。 説明不足で申し訳ありません。 このサイトと似たような感じで、予め関数を入力して 年の値を入力するだけで、その年の祝日リストが完成するようにつくっております。 そして、それを利用して質問のような何度でも利用可能なカレンダーの原紙を作りたいと思っている次第です。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

解決策1 「祝日」シートには,「今年の祝日」を例えばA1からA17に並べたら,「来年の祝日」を続けてA18からA34に並べ,ついでに「再来年の祝日」もA35からA51に並べます A列全体を列選択し,「祝日一覧」と名前を定義します。 条件付き書式の数式は =COUNTIF(祝日一覧,B3) などのようにしておきます。 #余談ですが,祝祭日だけでなく,たとえば年末年始やゴールデンウィークなどの「会社の休業日」も同じく祝日一覧に付け加えておくと良いかもしれませんね。 解決策2 >普通に名前を付けるとブック単位になるので、同じ年の祝日しか見なくなり、 正直何が問題なのかちょっと判りにくいのですが。 仮に「2011年の祝日一覧」のセル範囲には「祝日2011」と名前を付け,「2012年の祝日一覧」には「祝日2012」と名前を付けておけば 条件付き書式の数式は =COUNTIF(INDIRECT("祝日"&YEAR(B3)),B3) などのようにすることで,祝日2011や祝日2012などを使い分けることもできます。

wtm909
質問者

お礼

回答ありがとうございます。 こちらの説明不足だったようで申し訳ないです。 原紙で作ったシートをコピーして使い回して行きたいので 年数を入力すれば、一つの祝日リストで対応出来るようにしたかったのです。 ex: 原紙からコピー。 → コピー1に2011年と入力 → コピー1内の祝日リストが2011年の物になる → コピー1の条件付き書式は2011年の祝日を参照する → 原紙からコピー。 → コピー2に2012年と入力 → コピー2内の祝日リストが2012年の物になる → コピー2の条件付き書式は2012年の祝日を参照する 解決策1の未来の祝日リストも考えたのですが、 何時までも(永遠には無理ですが)使えるモノにしたいと思い質問した次第です。 解決策2の方法が何か正解に近づいてる気がするのですが…… 未来のリストを作らずに済む方法があればご教授よろしくお願いします。

関連するQ&A

  • エクセル2007 条件付きについて

    今の会社はofice2007で、2年くらい前にエクセルを勉強した時は2003あたりでした。 カレンダー作成の際に条件付きで祝日を赤文字にする作業をしているのですが、 参考にしたサイトはhttp://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/calendar.htmです。 この中の「書式]→[条件付き書式」の「条件1」「数式が」という項目を入力できる所が見つけられません。 書式の中に条件付き書式というのが見当たらないのです。 別の所にで「条件付き書式」というボタンは見つけたのですが そのどこをおしてもこの画面がでてきません。 よろしくおねがいします。

  • EXCEL 条件付き書式

    過去の質問を検索したのですが見つからなかったので投稿させていただきました。 Excel2010を使用しています。 カレンダーを作成して日曜日と祝日と隔週月曜日の列に条件付き書式で色をつけたいのですが 教えていただけないでしょうか? ちなみに25日締めなので 26日~翌月25日までのカレンダーです。      B 3     26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 4     土 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 5 ○○  6 △△ 7 ×× 8 合計 B3(26) は 2013/2/26 表示形式 d   B4(土)は=B3 表示形式 aaa 表が揃ってなくてわかりにくいですが日にちの下のセルに曜日がはいるようになっています。 祝日一覧を作成し、祝日と日曜日は=OR(WEEKDAY(B$3)=1,COUNTIF(祝日,B$3)) で条件付き書式で色を変更できたのですが 隔週月曜日はいろいろと試してみたのですがうまく設定できません。 よろしくお願いいたします。

  • 条件付き書式(カレンダー作成)

    A列(2行目より)1/1~1/31、B列に曜日、C列にスケジュール、D列に2/1~2/28・・・ というようなカレンダーを作成しております。 条件付き書式を使用し、土日祝日は「曜日列」、「スケジュール列」には網掛け色を付けたいと思い、 「=OR(WEEKDAY(A$2)=1,WEEKDAY(A$2)=7)」 及び 2012年の祝日一覧をAP2~AP23に入力し、 「=COUNTIF($AP$2:$AP$23,A$2)=1」 の2通りを条件ルールとして設定しました。 曜日欄には色がつくのですが、スケジュール欄に色が付きません。 いろいろと試してみたのですがうまく反映されません。 ご教示頂きたく、何卒宜しくお願い致します。

  • エクセルで条件書式と入力規則を使い、カレンダーを作りたい!

    仕事でエクセルを使って、 「各営業所における営業日の実績データ」を収集しているのですが、 PCを得意としていない人たちが入力していることもあり、 休業日など目的と違うところにデータを入力してしまうことがあります。 そこで、視覚的に入力するところを分かりやすくし、 それでも間違ったところに入力してしまうのを防ぐため、 条件書式と入力規則を使って、カレンダーを作りました。 年月を入力すれば自動的に日付が変わるカレンダーを作り、 日付は正しく反映されているのですが、 営業日と休業日が上手く反映されず、その原因が分かりません・・・。 当社の営業日設定なのですが、 基本的に平日と日曜が営業日で、休業日は土曜と祝日になります。 ただし、平日が祝日だった場合は休業ですが、 日曜日と祝日が重なった場合は営業日になります。 なお、年末年始(12/31~1/3)は休業日になります。 さらにややこしくなってしまうのですが、 GW中(4/28~5/7)の日曜日、年末年始(12/30~1/5)の日曜日は、 長期連休ということで休業日になっています。 エクセルのデータですが、 列Aには日付(A3が1日)、列Bには曜日が入力してあり、 列Cと列Dに実績データを入力してもらう形にしてあり、 ここに条件書式と入力規則を設定しています。 また、セルV2~W33までに各祝日のリストとその振替休日、 加えてそれ以外の休業日(12/30、1/2、1/3)の日付を記入してあります。 前置きが長くなってしまって申し訳ございません。 以下が、私の考えた条件書式と入力規則の流れです。 まず休業日を考え、入力規則のユーザー設定に、 =OR( COUNTIF($V$2:$W$33,$A3)<>0, MOD($A3,7)=0 ) (※祝日リストに日付があるか、土曜日である) として、さらにGW・年末年始休業の部分を、 AND(MOD($A3,7)=1,AND(MONTH($A3)=4,DAY($A3)>=28)), AND(MOD($A3,7)=1,AND(MONTH($A3)=5,DAY($A3)<=7)), AND(MOD($A3,7)=1,AND(MONTH($A3)=12,DAY($A3)>=30)), AND(MOD($A3,7)=1,AND(MONTH($A3)=1,DAY($A3)<=5)), と考えました。また祝日かつ日曜日は営業日となることを、 AND(COUNTIF($V$2:$W$33,$A3)<>0,MOD($A3,7)=1), と考えて、その逆が休業日であることから、 =OR( COUNTIF($V$2:$W$33,$A3)<>0, MOD($A3,7)=0, OR(COUNTIF($V$2:$W$33,$A3)=0,MOD($A3,7)<>1), AND(MOD($A3,7)=1,AND(MONTH($A3)=5,DAY($A3)<=7)), AND(MOD($A3,7)=1,AND(MONTH($A3)=4,DAY($A3)>=28)), AND(MOD($A3,7)=1,AND(MONTH($A3)=12,DAY($A3)>=30)), AND(MOD($A3,7)=1,AND(MONTH($A3)=1,DAY($A3)<=5)) ) 上記を休業日として入力規則に入力しようとしましたが、 長過ぎて入らないようなので、GW・年末年始休業の部分を、 必要な該当月ごとに書き換えてみましたが、うまくいきませんでした。 ちなみに、その逆が営業日であるので、条件付き書式の数式に、 =AND( COUNTIF($V$2:$W$33,$A3)=0, MOD($A3,7)<>0, AND(COUNTIF($V$2:$W$33,$A3)<>0,MOD($A3,7)=1), OR(MOD($A3,7)<>1,OR(MONTH($A3)<>12,DAY($A3)<30)) ) と入力し、確認しましたが、やはりダメでした。 (ちなみに、「祝日かつ日曜日」があり「年末年始休業日」もある  2012年12月に設定を入力しながら結果を確認していました。) いろいろ試行錯誤した結果、一つ一つはどうやら正しいので、 組み合わせたときに、「祝日かつ日曜日」と「祝日でない」が 同居しているのが悪いと思うのですが、何か解決策はないでしょうか? 長い文章になってしまい恐縮ですが、ご教授お願い致します。

  • エクセル2007 条件付き書式

    予定表をエクセル2007で作成しています。 1日が1行になっているスタイルです。 条件付き書式で,セルの背景色を,土曜を青,日曜を赤, 祝日を黄色になるよう設定しています。 =WEEKDAY($A2)=1 =WEEKDAY($A2)=7 =NOT(COUNTIF($K2,"")) (k列には祝日名が入っている) 休日出勤し,月曜が代休の場合, 月曜はK列に「代休」と入れれば黄色になりますが, 出勤した土曜や日曜を白にするにはどうすればいいでしょうか? 滅多にないことなので,そのセルだけ「セルの書式設定」から 塗りつぶしを白にしたのですが,条件付きが優先されてしまいます。

  • エクセル2000でカレンダーをつくりたいのですが・・。

    エクセル2000を使って1年分のカレンダーを作りたいと考えています。土日は条件付き書式を使って曜日の色を変えることができたのですが、祝日はどのような関数または命令をあたえれば検索または表示を変えることができますか。何か簡単な方法があれば教えてください。

  • 条件付き書式で反映した休日のデータを数えたい

    条件付き書式とCOUNTIF関数を使用して、休日が塗りつぶしされるように設定をしています。 その塗りつぶしされたセルのうち、「大阪」「南部」と入力された個数をカウントしたいのですが、関数のみでカウントできればいいなと思ってます。 休日は別シートの「祝日」と名前を付けた部分に登録しています。 COUNTIFで「祝日」が参照され、塗りつぶしされるまではできたのですが・・・ 添付の通りでいけば、8日と16日にそれぞれ「南部」「大阪」とあるので「休日出勤数」をカウントして「2」と。 休日ではない土曜日において「休」とある1日と15日を「出土休み日数」をカウントして「2」と。 塗りつぶしが流動的なので、フィルターを使用するのかなんなのか、さっぱりわかりません。 関数のみで対応できればいいなと思っています。 どなたか、教えてください。

  • 万年カレンダーの作り方

    Excel初心者ですが、万年カレンダーを作成していて「条件付き書式」で「COUNTIF(祝日,C3)<>=1」を使用していて、添付画像の様にどうしても不要部分が有るので部分解除をして見たのですが出来ませんでしたので出来るのか、又は作成方法が間違って居るのか、どなたか私の希望に叶う方法が有れば作り方を教えて頂きたいです。 該当月に無い日付は別に「条件付き書式」「=MONTH(C3)<>$D$1」で非表示(白色)にしています。

  • シフト表のカレンダーによる条件書式で セル色を3つつける方法

    シフト表のカレンダーによる条件書式で セル色を3つつける方法 条件書式で 日曜 土曜までは 条件書式で色つけできたのですが 祝日に関して どうしても できません。 以前 やったことが あるのですが すっかり忘れてしまいました。 確か祝日シートとかをつくって祝日を張り付けてやる方法があったとおもいますが。 シフト表は 縦バージョンではなくて 横バージョンです。 D4 に 2009(年) Q4 に  9(月)を入力して カレンダー部分を変化させています。 B6~AF6に 日にち部分 B7~AF7に 曜日部分 やりたい曜日のセル色は 6と7行目だけに設定。 ただ 2009 年 9月 を 例にとると AF6 AF7が 10月1日の部分が 表示されてしまいます。 月の 曜日が 少ないときに 後半部分を白にして消しているように見せる 条件書式の 設定が あったとおもいます。 そちらのほうも ご存じのかた よろしくおねがいします。

  • Excelの関数について

    2行目に日付が入ったSheet1があり、土日には条件付き書式の設定で(WEEKDAY関数)色が付けてあります。 Sheet2には祝日が入力されていて範囲指定で「祝日」と名前が付けられています。 Sheet1の日付のセルに、祝日の場合には色をつけようと下記2通りの条件付き書式を試みましたが、どちらを使っても色付けされません。 =COUNTIF(祝日,C$2)>0 =MATCH(C$2,祝日,0)>0 考えられる原因と対処方法を教えていただけないでしょうか? 又、Sheet1だけコピーして別のブックに保存する場合、祝日の色付けをそのままにする方法はあるでしょうか? どうかよろしくお願いします。

専門家に質問してみよう