会社でExcel2007を使用しています。
来年(2017年)の予定表とカレンダーを作成中です。
添付のカレンダーは月ごとにシートが分かれており、今現在、手動作成してあるため、条件付き書式や数式は入っていません。
カレンダーとは別に、祝日のみを入力するシートがあります。
このカレンダーのシート(添付資料でいうと2017年1月、2月のシート)B6~H31の格子部分を通常のカレンダーのように、合致した場所に日にちが自動で入力(2017年1月の場合、月初めが日曜日なので、格子内の日曜日の列(B7)に「1日」、2017年2月の場合、月初めが水曜日なので、格子内の水曜日の列(E7に)「1日」)がされ、土日祝日部分は、自動で塗りつぶされるようになって、1月なら1月のみの日にちの表示(1月のカレンダーに、2月の1~4日を表示させないようにしたい)が出来ると大変ありがたいのですが…。
ご回答していただく際、大変なお手間だと思いますが、どうか未熟な私にどうぞご教示ください。
よろしくお願いいたします。
No.1
- 回答日時:
あまり細かいことは教えられませんが、私も先日カレンダーを作りました。
元は、Mcirosoft のテンプレート・カレンダー(名前は「一年間カレンダー」で、それに祭日を赤にするように作り変えました。さて、条件付き書式なのですが、日付を表す数式が見えないので、具体的には教えられませんが、
基本的なことを言うと、1月24日の5行目あたりに、条件付き書式の数式は、
=Day(日付) <15
書式は、薄い色 (または、書式の表示形式[;;;]で完全に見えなくなります)
のようにします。15というのは、たぶん、万年カレンダーで、それだけ行が上下することを考えられてつくられているようです。日付の部分は、シリアル値になっていないといけません。表示形式だけで、「24日」になっていればよいのですが、文字列になっていたりすると、少し厄介だと思います。数字に直さなくてはなりません。
祭日
=ISNUMBER(MATCH(B6,holiday,0))
ちなみに、祭日は、B6 は任意の場所で、R1C1方式では、RC という場所です。
holidayは、祭日一覧のリストを名前登録したものです。
holidayの祭日一覧は、私の自作の関数で作った、アドインの万年祭日関数からです。国民の祭日・休日?が加わるたびに、変更しています。毎年、間違いが出るかはチェックしていますが、狂いもなく出てくれているようです。
大変詳しい解説とご回答をありがとうございます。
とても勉強になりました。
今後、教えていただいた方法を活かせるように頑張りたいと思います。
ありがとうございました。
No.2ベストアンサー
- 回答日時:
こんばんは!
画像を拝見すると1日に付き、5行使っているのですね?
これが結構厄介です。
無理やりやってみました。
わざわざ月ごとにシートを変える必要はないと思うのですが、
一月ごと別シートにする場合でもやり方は一緒です。
① まず別シートに↓の右側の画像のように祝日一覧のデータを作成しておきます。
② 右側シートのB列を「祝日」と名前定義します。
(B列を範囲指定 → 名前ボックス(セル番地が表示されている窓)に 祝日 と入力しEnter!)
これで範囲指定したセルが「祝日」と名前定義されます。
③ カレンダーSheet(左側シート)のD1セルに
=DATE(A1,A2,1)
という数式を入れ、セルの表示形式はユーザー定義から mmm としています。
このD1セルのシリアル値を利用します。
④ B7セル(セルの表示形式はユーザー定義から d としています)に
=IF(MONTH($D$1-WEEKDAY($D$1)+COLUMN(A1)+7*(ROW(A5)/5-1))=$A$2,$D$1-WEEKDAY($D$1)+COLUMN(A1)+7*(ROW(A5)/5-1),"")
という数式を入れます。
⑤ B8セルに
=IF(COUNTIF(祝日,B7),INDEX(Sheet2!$A$1:$A$17,MATCH(B7,祝日,0)),"")
という数式をいれます。
これで祝日名が表示されます。
最後に一番厄介な条件付き書式です。
B7・B8・B9・B10・B11セルすべてのセルに同じ条件付き書式を設定します。
B7セルを選択 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=COUNTIF(祝日,B7)
という数式を入れ → 書式 → 塗りつぶしから「赤」を選択しOK
同様にB8セルにも条件付き書式を設定
数式もB7セルと全く同じ数式にします。
この操作をB11セルまですべてのセルに設定します。
(B11セルまで数式はすべて同じです)
そしてB7~B11セルを範囲指定 → B11セルのフィルハンドルで右へコピー! → そのまま下へ5行ずつコピー!
これで細かい設定は完了です。
最後に日曜の列を範囲指定 → 「赤」で塗りつぶし
土曜の列を範囲指定 → 「青」で塗りつぶし
以上で↓のような感じになります。
※ これでA2セルの「月」の数値を変更するだけで
好みの月のカレンダーができます。
※ フィル&コピーした場合、書式もコピーされてしまうため
日・土曜の塗りつぶしは最後に行います。m(_ _)m
大変詳しくご回答していただき、本当にありがとうございます。
教えていただいた方法を活かして、カレンダーを作成させたいと思います。
ご回答に、時間を割いて頂きまして、とても感謝しております。
本当にありがとうございました。
No.3
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでカレンダーを作りたい 5 2023/05/16 07:32
- Visual Basic(VBA) excel2016でリストからカレンダーに内容を反映させたいです 2 2022/10/27 15:32
- Excel(エクセル) Excelで東証のカレンダーを作りたい 6 2022/12/30 20:55
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Access(アクセス) Access DTPickerの初期表示月を変えたい 1 2022/08/02 08:55
- Excel(エクセル) エクセルの条件付き書式について エクセルでカレンダーを作りました。縦に日付が並んでいて、横にスケジュ 3 2022/10/10 15:32
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- Excel(エクセル) 【Excel関数】カレンダーで文字が入っていたら転記 4 2023/07/24 23:28
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) Excelで作成しているシート(表) 5 2023/06/15 10:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 文字を増やしたい。
-
エクセルの計算
-
セルの内容表示が邪魔になる
-
Excel
-
Microsoft365に変えたのですが...
-
エクセル:一覧表に存在する文...
-
エクセルで日付を数字+アルフ...
-
エクセルでの作業計算方法について
-
エクセルで年休を管理する方法...
-
はがきについて。
-
【マクロ】その時、その時で変...
-
excelの不要な行の削除ができな...
-
Microsoft1Officeの互換ソフト...
-
エクセル関数を教えてください
-
Excel ピボットテーブルで日付...
-
【マクロ】読取専用のファイル...
-
【関数】適切な文字数の数字を...
-
時間によってファイル名が変わ...
-
ある列、或いは、ある行のセル...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報