- ベストアンサー
Excel条件付き書式でカレンダーに色をつける方法
- Excel2010を使用してカレンダーを作成し、日曜日と祝日と隔週月曜日の列に条件付き書式で色をつける方法を教えてください。
- 祝日一覧を作成し、祝日と日曜日の列に条件付き書式を適用する方法はわかりますが、隔週月曜日の列に適用する方法がうまく設定できません。
- 25日締めのカレンダーを作成したいので、26日から翌月25日までの日付を表示し、日曜日と祝日と隔週月曜日の列に条件付き書式で色をつけたいです。設定方法を教えてください。
- みんなの回答 (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)
[No.4]の誤謬訂正 「パターン色 緑」の箇処の「条件2」を「条件3」に訂正します。 (云わずもがな?)
- KURUMITO
- ベストアンサー率42% (1835/4283)
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)
考え方を整理するための助言としてお納めください。 例えば、「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) 見たいな感じで使えますよ^^
- kagakusuki
- ベストアンサー率51% (2610/5101)
隔週と言いましても、例えば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は土曜日ではなく、火曜日ではないでしょうか?
補足
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なのでまだ、教えていただいた事が試せていません。 また、仕事の手が開いたら教えていただいた事を試していただきます。 まずはお詫びまで。
お礼
回答ありがとうございました。 MODの使い方がよくわかりました。