• ベストアンサー

EXCELカレンダーの今日に色を付けたい

今月と来月の2ケ月分のカレンダー(7曜表)を作成しました。 1日分が縦に3列使い、1列目に日にちだけが入っています。 何年何月であるかは決まっているのですが、表には書いてありません。 この状態で、今日の部分(3コマ)の背景色、文字色などを強調したいのですが、 良い方法がありましたら、お教えください。 年月日を入力して、見た目には日付だけが表示される方法があれば、できそうな気がするのですが、EXCELに詳しくありませんので、ご指導をお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.10

>ところで2週目以降のやり方がわからないのです。 行が変わった場合は行番号を変更する必要がありますが、カレンダーが添付画像のようなレイアウトになっているなら、以下のような対応で一括設定することができます。 すなわち、1行目に空白行を挿入して、2行目が曜日、3行目から日付が入力されているレイアウトに変更し、A3からデータ範囲を選択して、条件付き書式に以下の式を入れてみてください。 =SUM(A1:A3)=TODAY()

tabigarasy
質問者

お礼

ありがとうございました。 お教えのとおりに、やってみたところ見事にできました。 この数式でなぜ、全体の表で今日が指定できたのか、私にはまだ理解できていないのですが、 とにかく、案外に簡単にできたことをうれしく思います。 この式の意味はこれからじっくり考えてみます。 素晴らしいです!

その他の回答 (10)

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

 回答No.7です。  前回の回答の方法では、何年何月であるのかを指定するための日付を入力するセルをA2セルにしたために、条件付き書式に設定する数式が複雑化してしまっておりましたので、改良版を考えました。  今度の方法は、何年何月であるのかを指定するための日付を、A2セルではなく、A1セルに入力するものとします。(日付けを入力しても、表示上は「月」と表示されます)  まず、 まず、A1~G4のセル範囲に罫線を設定して下さい。  次に、B1セルに「火」(鉤括弧は不要)と入力し、同様にC1セル~G1セルに「水」~「日」を入力して下さい。  次に、以下の操作を行って、A1セルに書式を設定して下さい。 A1セルを右クリック   ↓ 現れた選択肢の中にある[セルの書式設定]をクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[日付]をクリック (この場合、「種類」欄の設定に関しては、どの選択肢でも構わないため、「種類」欄の所は特に設定せずとも構いません)   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック  次に、以下の操作を行って、A1セルに条件付き書式を設定して下さい。 A1セルを選択   ↓ Excelウィンドウの[ホーム]タブをクリック   ↓ 現れた「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[新しいルール]をクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[次の値を含むセルだけを書式設定]をクリック   ↓ 現れた「次のセルのみを書式設定」と記されている囲みの中の左端の欄が[セルの値]となっている事を確認   ↓ 「次のセルのみを書式設定」と記されている囲みの中の左から2番目の欄をクリック   ↓ 現れた選択肢の中にある[次の値に等しくない]をクリック   ↓ 「次のセルのみを書式設定」と記されている囲みの中の左から2番目の欄に次の様に入力 =""   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[ユーザー定義]をクリック   ↓ 現れた「種類」欄に次の様に入力 "月"   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック  次に、以下の操作を行って、A2~G4のセル範囲に条件付き書式を設定して下さい。 A2セルを選択   ↓ Excelウィンドウの[ホーム]タブをクリック   ↓ 現れた「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[ルールの管理]をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に次の数式を入力 =OFFSET(A2,-MOD(ROW()-ROW($A$2),3),)=TODAY()   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた背景色のサンプルの中にある好きな色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[フォント]タブをクリック   ↓ 現れた「色」欄をクリック   ↓ 現れた色のサンプルの中にある好きな色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄を $A$2:$G$4 に変更(カーソルとマウスの左ボタンによる範囲選択が使えます)   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック  次に、A2セルに次の関数を入力して下さい。 =IF(ISNUMBER(1/DAY($A$1)),IF(ISERROR(1/(DATEDIF(TEXT($A$1,"yyyy/m"),TEXT($A$1,"yyyy/m")-WEEKDAY(TEXT($A$1,"yyyy/m"),2)+COLUMNS($A:A)+INT((ROW()-ROW($A$1))/3)*7,"M")<2)),"",TEXT($A$1,"yyyy/m")-WEEKDAY(TEXT($A$1,"yyyy/m"),2)+COLUMNS($A:A)+INT((ROW()-ROW($A$1))/3)*7),"")  次に、A2セルをコピーして、B2~G2の範囲に貼り付けて下さい。  次に、A2~G4の範囲を纏めてコピーして、A5~G31の範囲に貼り付けて下さい。  以上で準備は完了です。  そして使い方ですが、例えば2014年の3月と4月のカレンダーを表示させたい場合には、A1セルに 2014年3月 或いは、 2014/3 や h26.3.1 等の様に、前の方の月の日付を入力して下さい。  すると、A1セルに入力した日付の月の1日の日から、翌月の月末までの日付が、A1~G1に入力した曜日に沿う様に、1日からの日付表示が始まる位置を自動的にずらして、日付の表示が行われます。  この時、A2セルには「2014/3/1」等の様な日付データが入力されますが、A2セルに入っている実際のデータが何年何月の日付データであっても、パソコンのモニター上の表示や印刷した際の表示上は、A2セルの所には「月」と表示される様になっています。(実際に入っているデータは日付データのままですが、表示だけは「月」となります)  尚、A1セルに入力する日付は、必ずしも1日の日の日付ではなくとも構いませんし、2日~31日の日付を入力した場合であっても、その月の1日から翌月の月末までの日付が正しく表示される様になっています。

tabigarasy
質問者

お礼

大変ご丁寧な回答をいただきましてありがとうございました。 非常に難しい条件式で現在の私の能力ではまったく理解できなくて申し訳ありません。 とりあえず、別の方から簡単な方法を提示していただき、その方法で解決いたしました。 一つの目的でもいくつもの方法があることがよくわかりました。 EXCELの奥深さを垣間見ました。 教えていただいた方法は別紙に印刷して、今後勉強させていただきます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.9

No.8です。 たびたびごめんなさい。 前回の >B1セルに >=DATE(A1,A2,1) は C1セルの間違いでした。(数式は一緒です) B1セルではなくC1セルに入れてください。 どうも失礼しました。m(_ _)m

tabigarasy
質問者

お礼

ありがとうございました。 勉強させていただきました。 今後ともよろしくお願いします。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.8

こんばんは! すでに色々回答が出ていますのが、 月曜始まりのカレンダーを作成したい!というコトですので、 ※ 何度も画像添付を試みましたが、どういう訳か不具合が生じているようですので画像添付ができません。文章だけの説明なので判り難いかもしれませんが、 文章通りにやってみてください。 下準備として、A1セルに2014(←表示したい年)をA2セルに3(←表示したい月を)入力します。 B1セルに =DATE(A1,A2,1) という数式を入れその月の初日を表示しておきます。 B1セルの表示形式はユーザー定義から mmmm としておきます。 4行目は月~日までを入力しておきます。 (A4 → 月 B4 → 火 C4 → 水 D4 → 木・・・とG4セルに日まで) そして、A5セルに =IF(MONTH($C$1-WEEKDAY($C$1,2)+COLUMN(A1)+7*(ROW(A3)/3-1))=$A$2,$C$1-WEEKDAY($C$1,2)+COLUMN(A1)+7*(ROW(A3)/3-1),"") という数式をいれます。 (この画面から上記数式をドラッグ&コピー → A5セルを選択 → 数式バー内に貼り付けが簡単だと思います) 今回は3行まとめて同じ色にしたいというコトですが、1セルずつ条件付き書式を設定します。 A5セル → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に =A5=TODAY() という数式を入れ → 書式 → 塗りつぶし → 好みの色を選択しOK 同様にA6セルを選択 → 条件付き書式 → ・・・中略・・・ → 数式欄に A5セルの条件付き書式と全く同じ数式を入れます → 色もA5と同じ色に! A7セルも同じ設定です。 そしてA5~A7セルを範囲指定 → A7セルのフィルハンドルで日曜のG列までオートフィルでコピー! そのまま下に向かって3行ずつオートフィルでコピー! 後はA1・A2の「年」・「月」を好みの数値にしてみてください ※ A1・A2・B1セルデータは必要です B1セルが目障りであればフォントを白にして見た目は見えなくするか、 どこか離れたセルにします。m(_ _)mt

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

 次の様な方法は如何でしょうか?  まず、A1~G7のセル範囲に罫線を設定して下さい。  次に、A1セルに「月」(鉤括弧は不要)と入力し、同様にB1セル~G1セルに「火」~「日」を入力して下さい。  次に、以下の操作を行って、A2~G7のセル範囲に条件付き書式を設定して下さい。 A2セルを選択   ↓ Excelウィンドウの[ホーム]タブをクリック   ↓ 現れた「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[ルールの管理]をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に次の数式を入力 =AND(SUM(OFFSET(A2,-MOD(ROW()-ROW($A$2),3),))>=1,TEXT($A$2,"yyyy/m")-WEEKDAY(TEXT($A$2,"yyyy/m"),2)+COLUMNS($A:A)+INT((ROW()-ROW($A$2))/3)*7=TODAY())   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた背景色のサンプルの中にある好きな色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[フォント]タブをクリック   ↓ 現れた「色」欄をクリック   ↓ 現れた色のサンプルの中にある好きな色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄を $A$2:$G$7 に変更(カーソルとマウスの左ボタンによる範囲選択が使えます)   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック  次に、以下の操作を行って、A2セルに書式を設定して下さい。 A2セルを右クリック   ↓ 現れた選択肢の中にある[セルの書式設定]をクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[ユーザー定義]をクリック   ↓ 現れた「種類」欄に次の様に入力 d   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック  次に、A2セルをコピーして、B2セルに貼り付けて下さい。  次に、B2セルに次の関数を入力して下さい。 =IF(ISNUMBER(1/DAY($A$2)),IF(ISERROR(1/(DATEDIF(TEXT($A$2,"yyyy/m"),TEXT($A$2,"yyyy/m")-WEEKDAY(TEXT($A$2,"yyyy/m"),2)+COLUMNS($A:B)+INT((ROW()-ROW($A$2))/3)*7,"M")<2)),"",TEXT($A$2,"yyyy/m")-WEEKDAY(TEXT($A$2,"yyyy/m"),2)+COLUMNS($A:B)+INT((ROW()-ROW($A$2))/3)*7),"")  次に、B2セルをコピーして、C2~G2の範囲に貼り付けて下さい。  同様に、B2セルをコピーして、A5~G5の範囲にも貼り付けて下さい。  次に、A5~G7の範囲を纏めてコピーして、A8~G31の範囲に貼り付けて下さい。  次に、以下の操作を行って、A2セルに新たに2つの条件付き書式を設定して下さい。 A2セルを選択   ↓ Excelウィンドウの[ホーム]タブをクリック   ↓ 現れた「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[ルールの管理]をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に次の数式を入力 =WEEKDAY(TEXT(A2,"yyyy/m"))<>2   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[ユーザー定義]をクリック   ↓ 現れた「種類」欄に次の様に入力 ;;;   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に次の数式を入力 =WEEKDAY(TEXT(A2,"yyyy/m"))=2   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[ユーザー定義]をクリック   ↓ 現れた「種類」欄に次の様に入力 1   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック  以上で準備は完了です。  そして使い方ですが、例えば2014年の3月と4月のカレンダーを表示させたい場合には、A2セルに 2014年3月 或いは、 2014/3 や h26.3.1 等の様に、前の方の月の日付を入力して下さい。  すると、A2セルに入力した日付の月の1日の日から、翌月の月末までの日付が、A1~G1に入力した曜日に沿う様に、1日からの日付表示が始まる位置を自動的にずらして、日付けの表示が行われます。  この時、A2セルには「2014/3/1」という値が入力されますが、もしも前の方の月の1日の日の曜日が月曜日でない場合には、A2セルは非表示となりますので、A2セルに「2014/3/1」という日付けデータが入ったままになってはいても、パソコンのモニター上の表示や印刷した際の表示上は、A2セルの所には何も表示されない様になっています。  そして、もしも前の方の月の1日の日の曜日が月曜日である場合には、A2セルに入力した日付が、例えその月の1日の日付けではなく2日~31日の日付であっても、A2セルには「1」と表示されます。(実際に入っているデータは別の日のままですが、表示だけは「1」となります)  尚、A2セルに入力する日付は、必ずしも1日の日の日付ではなくとも構いませんし、2日~31日の日付を入力した場合であっても、その月の1日から翌月の月末までの日付が正しく表示される様になってはいます。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

>実際の条件式が不鮮明でよく見えませんので、この部分だけ拡大した図をお示しいただけませんでしょうか。 前回の回答で下記の記述をしています。 日付の行の条件 適用先=$A$13:$G$13 ルール=今日 次の行の条件 適用先=$A$14:$G$14 ルール=A13:G13=TODAY() 更に次の行の条件 適用先=$A$15:$G$15 ルール=A13:G13=TODAY() >日付の部分ですが、A1、A2の年、月も使われているのでしょうか。 $A$1、$A$2の年月の数値を利用してカレンダーの日付を算出しています。 算出された日付はシリアル値で表示形式を d とすることで年月日の日のみを表示させています。 第1週目は下記の式を適用します。 日~土のときのA列のみ単独条件になります。 =IF(WEEKDAY(DATE($A$1,$A$2,1))=COLUMN(),DATE($A$1,$A$2,1),"") B~G列は左セルの値を参照する要素を加えます。 =IF(WEEKDAY(DATE($A$1,$A$2,1))=COLUMN(),DATE($A$1,$A$2,1),IF(A4="","",A4+1)) 第2週目のA列は前週末の値に1を加えますが月末を超えるときは空欄にします。 =IF(G4<EOMONTH(DATE($A$1,$A$2,1),0),G4+1,"") B~G列は左のセルの値に1を加えますが月末を超える場合は空欄にします。 =IF(A7<EOMONTH(DATE($A$1,$A$2,1),0),A7+1,"") 第3週目以降は第2週の数式をコピーすれば良いでしょう。

tabigarasy
質問者

お礼

ありがとうございました。 別の方から簡単な方法を教えてもらいました。 この方法も今後勉強させていただきます。 今後ともよろしくお願いします。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

>目的は今日が3/19の時に、A2~A4の3つのセルに着色をしたいのです。 A2から最後の日付の列の4行目までを選択し、条件付き書式で、「新しいルール」「数式を使って・・・」で「=A$2=TODAY()」と入力して、書式を適宜設定します。 >さらに、できることであれば、「3/19」でなく「19」と表示できたら見栄えが良いです 日付の行を選択して、右クリック「セルの書式設定」の表示形式で「ユーザー定義」にして「d」と入力して下さい。

tabigarasy
質問者

補足

ありがとうございました。 ご説明とおりにやったところ見事にできました。 ところで2週目以降のやり方がわからないのです。 1週目の範囲を指定して、2週目に対して「書式のコピー」をやったところ、2週目も同じ曜日が強調されてしまいました。 正しく書式のコピーをする方法も教えてください。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>この状態で、今日の部分(3コマ)の背景色、文字色などを強調したいのですが、良い方法がありましたら、お教えください。 条件付き書式で背景色やフォントの書式で強調できます。 貼付画像がExcel 2013で検証した結果です。 背景色が表示された週の3行について書式設定の例を以下に記載します。 日付の行の条件 適用先=$A$13:$G$13 ルール=今日 次の行の条件 適用先=$A$14:$G$14 ルール=A13:G13=TODAY() 更に次の行の条件 適用先=$A$15:$G$15 ルール=A13:G13=TODAY()

tabigarasy
質問者

補足

ありがとうございました。 できることがわかりました。 おおよそのことはわかったのですが、 実際の条件式が不鮮明でよく見えませんので、この部分だけ拡大した図をお示しいただけませんでしょうか。 日付の部分ですが、A1、A2の年、月も使われているのでしょうか。 理解不足で申し訳ありません。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

ご希望の操作をするには、数式を使った条件付き書式書式で表示することが可能です。 しかし、どのセルにどのような日付がわかる数字が入力されているのかわからないと具体的な回答はしにくいですね。 月がA1セルに入力されており、B1セルに「1」、C1セルに「2」と入力されている、あるいはB1セルに3/1のように日付が入力されている場合、今日の日付の1行目から3行目の部分に色を付けたいなどと具体的に例示してください。 また。Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、ご質問の際には必ずバージョンを明記するようにしましょう。

tabigarasy
質問者

補足

ありがとうございます。 質問が不十分で失礼しました。 Officeは2013です。 A1~G1は「月」「火」・・・「日」 A2~G2に「3/19」「3/20」・・・日つけが入ります。 A3、A4は該当日の記事になります。 目的は今日が3/19の時に、A2~A4の3つのセルに着色をしたいのです。 さらに、できることであれば、「3/19」でなく「19」と表示できたら見栄えが良いです。 宜しくお願いします。

回答No.2

>何年何月であるかは決まっているのですが、表には書いてありません 表に書いていないという意味がわかりませんが、今日の部分を強調するのに『今日』がわからないといけません。 なので、 >年月日を入力して、見た目には日付だけが表示される方法 を利用しないといけません。 やり方は「条件付き書式」の条件に『=TODAY()』と入れ、『値に等しい』を選んでやればOKです。 背景色や文字色はお好きな物を選んでください。 条件付き書式の場所ですが、エクセルのバージョンがわからないので、どこにあるかは自分で調べてください。 そして、 >今日の部分(3コマ) の全部を強調したい場合、2コマは空白セルの為『今日』がわかりません。 なのでこのコマも強調するのは無理だと思います。

tabigarasy
質問者

お礼

ありがとうございました。 別の方から明快な方法を教えていただきました。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

条件付き書式 を使えば、何とかなるかもしれませんし、 やっぱりどうにもならないかもしれません。

tabigarasy
質問者

お礼

ありがとうございました。

関連するQ&A