• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL 条件付き書式)

Excel条件付き書式でカレンダーに色をつける方法

このQ&Aのポイント
  • Excel2010を使用してカレンダーを作成し、日曜日と祝日と隔週月曜日の列に条件付き書式で色をつける方法を教えてください。
  • 祝日一覧を作成し、祝日と日曜日の列に条件付き書式を適用する方法はわかりますが、隔週月曜日の列に適用する方法がうまく設定できません。
  • 25日締めのカレンダーを作成したいので、26日から翌月25日までの日付を表示し、日曜日と祝日と隔週月曜日の列に条件付き書式で色をつけたいです。設定方法を教えてください。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

>2013/1/26から2013/2/25までの表を作成して祝日・日曜日と隔週月曜日の1/28・2/11・2/25に色付けをしたかったんです。  もしかしますと、「祝日・日曜日」と「隔週月曜日」は別の色ではなく、同じ色で塗り潰すので、1つの条件付き書式で済ましたいという事なのでしょうか?  それでしたら、 =AND(ISNUMBER(1/DAY(B$3)),OR(WEEKDAY(B$3)=1,COUNTIF(祝日,B$3)MOD(B$3-"2013/1/28",14)=0)) とされると良いと思います。  尚、上記の数式中の"2013/1/28"の部分を、"2013/2/11"や"2013/2/25"に変えても、2013/1/28のセルに色が付きます。  それから、 >3月分は2/26から3/25と毎月表を作成するのですがいちいちカレンダーを見て休日の表に日にちを入れなくてもできるのではないかと思い質問させていただきました。 との事ですが、祝日の表を毎月入力し直していては面倒になりますから、1年に1度だけ1年分の祝日の表を作成しておき、使い回せば良いと思います。  尚、以下のサイトに、1年分の祝祭日が掲載されています。 【参考URL】  国立天文台 > 一般の方向け > 日の出・日の入り情報(暦) > 暦要綱   http://eco.mtk.nao.ac.jp/koyomi/yoko/  国立天文台 > 一般の方向け > 日の出・日の入り情報(暦) > 暦要綱 > 平成25年(2013)   http://eco.mtk.nao.ac.jp/koyomi/yoko/2013/rekiyou131.html  上記2つの参考URLの内、2番目のURLのページに「国民の祝日  平成25年 (2013)」という表がありますので、その表中の文字の部分をまとめてコピーしてから、Excelの例えばA1セルに貼り付けますと、以下の様になります。         A列         B列  1行目   名称         月日  2行目   元日         1月1日  3行目   成人の日      1月14日  4行目   建国記念の日   2月11日  5行目   春分の日      3月20日  6行目   昭和の日      4月29日  7行目   憲法記念日     5月3日  8行目   みどりの日      5月4日  9行目   こどもの日      5月5日 10行目   名称         月日 11行目   海の日        7月15日 12行目   敬老の日      9月16日 13行目   秋分の日      9月23日 14行目   体育の日     10月14日 15行目   文化の日      11月3日 16行目   勤労感謝の日  11月23日 17行目   天皇誕生日    12月23日 18行目 19行目 20行目   5月 6日、11月 4日は休日になる。  このままでは20行目の内容である「5月 6日、11月 4日は休日になる。」がB列の日付には反映されていませんから、B18セルに5/6、B19セルに11/4と入力します。  次に、日本の祝祭日以外にも、質問者様のお勤め先で決められている休日(例えば創業記念日や年末年始・盆休み等)があれば、B20以下に合わせて入力して下さい。  そして、もし、このExcelへの貼り付け作業を行った時の日付が、2013年ではなく、2012年内であった場合には、B列の各日付のデータは2013年ではなく、2012年の日付となっています(例えばB2セルの値は、「2013/1/1」ではなく、「2012/1/1」となっています)から、B列の日付が入力されているセルをまとめて範囲選択してから、Excelの置換機能を使用して、 2012/ を全て 2013/ に置換して下さい。  これで、B列に1年分の祝祭日のリストが出来上がりますから、後は、B列の日付が入力されているセル範囲をコピーして、御質問文にある >祝日一覧を作成し、 の祝日一覧のセル範囲に、[値のみを貼り付け]されると良いと思います。  文章で説明しますと面倒そうに思えるかも知れませんが、日付を1つずつ手入力されるよりは、はるかに楽ですし、入力ミスも少なくなると思います。 >ちなみに会社がEXCEL2010で家で使っているEXCELはXPなのでまだ、教えていただいた事が試せていません。  XPでも使用可能な関数や機能しか使用しておりませんから、多分、XPでも動作させる事は可能な筈だと思います。(もしかしますと、条件付き書式の数式を入力する欄に、入力可能な文字数の限界を超えてしまう恐れも、皆無ではありませんが)  尚、万が一、XPにおける条件付き書式の設定方法を御存じではあられない場合には、以下のURLのページを御参考にされると良いかと思います。 【参考URL】  よねさんのWordとExcelの小部屋 > ~Excel2003 基本講座 > 条件付き書式   http://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-syo.html

その他の回答 (5)

noname#204879
noname#204879
回答No.5

[No.4]の誤謬訂正 「パターン色 緑」の箇処の「条件2」を「条件3」に訂正します。 (云わずもがな?)

noname#204879
noname#204879
回答No.4

添付図参照 B3: =IF(AND(MONTH(DATE($A1,$A2,COLUMN(Z1)))<>$A2,DAY(DATE($A1,$A2,COLUMN(Z1)))>25),"",DATE($A1,$A2,COLUMN(Z1))) B4: =TEXT(B3,"aaa") セル B3 における[条件次書式]は次のとおり 条件1 数式が   =B$4="土" または =MOD(B$3,7)=0 パターン色 青 条件2 数式が   =COUNTIF(祝日,B$3) パターン色 赤 条件2 数式が   =MOD(COUNTIF($B$4:B$4,"月")*(B$4="月"),2) パターン色 緑

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

WEEKNUM関数とMOD関数を使って、条件付き書式で入力する式は次のようにすればよいでしょう。 =OR(WEEKDAY(B$3)=1,COUNTIF(祝日,B$3),AND(MOD(WEEKNUM(B$3),2)=0,WEEKDAY(B$3)=2)) MOD(WEEKNUM(B$3),2)=0をMOD(WEEKNUM(B$3),2)=1に変更して使用もよいでしょう。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

考え方を整理するための助言としてお納めください。 例えば、「2013/1/1」をA1セルに打ち込んでおきます。 これをシリアル値で表示してみます。 表示形式を標準などにするだけですが、結果は「41275」です。 これをWEEKDAY関数にかけてやると、    =WEEKDAY(A1) 結果は「3」が返ります。火曜日ですから。 さらに、MODという関数はご存知でしょうか。 詳細は別途お調べいただきたいのですが、要するに割り算の「あまり」を求める関数です。 これを使って、    =MOD(A1,7) とすると、これも「3」が返ってきます。 順に2013/1/2~繰り返してみてみると(ずーっと下にフィルで良いです)、 日曜日が「1」、月曜日は「2」・・・・金曜日が「6」、土曜日は「0」 と繰り返していることがわかりますね。 これはWEEKDAY関数の返り値の挙動と同じです。 1週間は7日ですから、日付シリアルを7で割って、あまりを求めれば、 自ずと曜日がわかる、と言うことですね。 さて、ヒント・・と言うより、もう答えは出ていたりしますが、 「隔週月曜日」と言うことは、14日おきですね。 日付を14で割って「あまり」を求めれば、「隔週月曜日」を求められそうな気がしませんか? 今月の第2月曜日は「2013/1/14」、シリアル値では「41288」です。 と言うことは、    =MOD("2013/1/14",14)  または  =MOD(41288,14) で、返り値は「2」です。 第3月曜は「2013/1/21」、シリアル値では「41295」ですので、    =MOD("2013/1/21",14)  または  =MOD(41295,14) で、返り値は「9」です。 こうなると「隔週月曜日」を判断する材料に出来そうですね。 あとはご自身のお好みでお使いくださいませ。 余談ですが、このMOD関数はなかなか便利です。 偶数・奇数行を見分けたり出来ますから。 条件付書式で1行おきのシマシマ表もあっという間に出来ますから、覚えて損は無いですよ^^    =MOD(ROW(),2) 見たいな感じで使えますよ^^

puane
質問者

お礼

回答ありがとうございました。 MODの使い方がよくわかりました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 隔週と言いましても、例えば2013/3/4に色を付けて、2013/3/18に色を付けない場合と、 2013/3/4に色を付けずに、2013/3/18に色を付ける場合の2通りがありますが、色を付ける方の週はどのような決まりで決めておられるのでしょうか?  例えば、ある特定の年月日の月曜日の日から始めて、年や月が変わっても関係なく、そのままその特定の日を基準として、月曜日に色を付ける週と、色を付けない周が交互にやって来るようになっているのでしょうか?  それとも、その年の年度の始まりである4月において、初めて月曜日になる日が基準の日となり、交互に色を付ける週と付けない週がやって来るようになっているのでしょうか?  或いは、その年の年度の始まりである4月において、2回目の月曜日になる日が基準の日となり、交互に色を付ける週と付けない週がやって来るようになっているのでしょうか?  或いは、その月ごとの初めて月曜日になる日が基準の日となり、交互に色を付ける週と付けない週がやって来るようになっているのでしょうか?  上記の点が不明ですので、色を付ける方の週はどのような決まりで決めておられるのかを御教え願います。  例えば、もし、「ある特定の年月日の月曜日の日から始めて、年や月が変わっても関係なく、そのままその特定の日を基準として、月曜日に色を付ける週と、色を付けない周が交互にやって来るようになっている」場合において、2013/3/4が色を付ける日だった場合には、次の様な条件にされると良いと思います。 =AND(ISNUMBER(1/DAY(B$3)),MOD(B$3-"2013/3/4",14)=0)  尚、ISNUMBER(1/DAY(B$3))という部分を入れているのは、3行目のセルに日付が入力されていない場合を排除するためですので、もし、3行目のセルに日付が必ず入力される事が保障されている場合には、 =MOD(B$3-"2013/3/4",14)=0 だけでも大丈夫です。  余談ですが、2013/2/26は土曜日ではなく、火曜日ではないでしょうか?

puane
質問者

補足

kagakusuki様 回答ありがとうございます。 2013/2/26は土曜日ではなく、火曜日ですよね。 1/26と入力したつもりが2/26って入力しちゃってました。 2013/1/26から2013/2/25までの表を作成して祝日・日曜日と隔週月曜日の1/28・2/11・2/25に色付けをしたかったんです。 3月分は2/26から3/25と毎月表を作成するのですがいちいちカレンダーを見て休日の表に日にちを入れなくてもできるのではないかと思い質問させていただきました。 説明不足で申し訳ございませんでした。 ちなみに会社がEXCEL2010で家で使っているEXCELはXPなのでまだ、教えていただいた事が試せていません。 また、仕事の手が開いたら教えていただいた事を試していただきます。 まずはお詫びまで。

関連するQ&A