• ベストアンサー

【エクセル】今日の日付に赤枠をつけたい【Excel】

【エクセル】今日の日付に赤枠をつけたい【Excel】 無知なわたしめにどなたかお助けお願いします! エクセルを使ったカレンダーが必要なのですが、 画像のようなカレンダーで、今日の日付のところに自動的に赤枠をつけていきたいのです。 やればやる程深みにハマっていき・・・ やはり、マクロか何かの知識が必要になってくるのでしょうか。 どなたかご指南の程よろしくおねがいします。 画像:6月16日の場合になります 日にちのところには、関数は入っておらず、ただ数字が入力してあるだけになります。

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

  • ベストアンサー
回答No.2

ちょっと作業が必要になりますが、もし興味があったらやってみてください。 マクロは使いません。 関数と条件付書式で実現可能です。 (1)日にちのところの数字を、「2010/06/15」のように「yyyy/mm/dd」のように書き直す。 (単なる数字ではなく、日付として認識させるため) (2)日にちを直したら、日にちのセルを全て「セルの表示形式」⇒「ユーザー定義」⇒『d』として、 見た目普通の数字に見えるようにする。 (例:「2010/06/15」と入力したあとセルの表示形式を直して「15」と表示されるようにする) (3)日にちが入っているセルを全て選択し、下記のように「条件付書式」を設定する。 ・「セルの値が」「次の値に等しい」「=Today()」 ・「書式」を赤枠で囲まれるよう罫線を設定する。 (Today関数は「今日」の日付けを返す関数。2010年6月15日なら、日にちの2010/06/15のセルが該当し、そのセルが指定した書式(赤枠罫線)で表示される。)

noname#125395
質問者

お礼

なるほど! 日にちのところをあらかじめ、日付を入れておけばよかったのですね。 1から丁寧に教えてくださり、すごく分かりやすかったです。 ありがとうございました! 赤枠罫線はちょっとできなかったですが、応用で使わせていただきました!

その他の回答 (6)

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

参考までに。 >ちなみに入力されている数字は全角だったので、半角に打ち直しました^^; 半角全角数字が混ざっていた場合(もちろん全角文字だけの場合)でも対応できるようにするには、たとえばNo5で回答した数式の「リスト範囲」の部分を「ASC(リスト範囲)」に変更します。

noname#125395
質問者

お礼

半角全角混合でも対応させることができるのですね! 便利なことをお聞きしました。ありがとうございました!

  • layy
  • ベストアンサー率23% (292/1222)
回答No.6

補足して欲しいです。 毎年使うものならそれなりの仕組みが必要と思われますがそこはどうですか。

noname#125395
質問者

お礼

説明不足すみませんでした^^; ありがとうございました!

noname#125395
質問者

補足

今年かぎりのものになります!

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

現在のレイアウトのまま条件付き書式で該当セルに赤罫線で囲みたいなら以下のような条件付き書式を設定します(1月などが結合セルに入力されている場合)。 準備として、B4セル以下のデータ範囲にたとえば「リスト範囲」と名前を付けておき(絶対参照の数式でも可)、B4セル以下を選択し、条件付き書式で「数式が」にして以下の式を入力して、「書式」ボタンから赤罫線を設定します。 =(SUMPRODUCT((リスト範囲=MONTH(TODAY())&"月")*ROW(リスト範囲))<ROW(B4))*(SUMPRODUCT((リスト範囲=MONTH(TODAY())&"月")*ROW(リスト範囲))+7>ROW(B4))*(SUMPRODUCT((リスト範囲=MONTH(TODAY())&"月")*COLUMN(リスト範囲))<COLUMN(B4))*(SUMPRODUCT((リスト範囲=MONTH(TODAY())&"月")*COLUMN(リスト範囲))+8>COLUMN(B4))*(DAY(TODAY())=B4)

noname#125395
質問者

お礼

わわわ、ご丁寧にありがとうございます! なるほど、範囲に名づけをしてやればいいのですね! 全く考えつかなかったです^^; いただいて、やってみたいと思います! ありがとうございました!

回答No.4

イメージとしては B6セルからH10セルまで(1月)を選択して 条件付き書式 [数式が] =DATE($K$2,1,B6)=TODAY() ただし、K2セルに 2010 と入っているとする。 赤の太い罫線は条件付き書式でできないので、 あらかじめ赤い太罫線を書いておき、 =DATE($K$2,1,B6)<>TODAY() の条件で黒い細罫線を設定します

noname#125395
質問者

お礼

なるほど、赤の太い罫線は難しいのですね。 丁寧に教えていただき、本当に感謝です。ありがとうございます。 画像のカレンダーすごいですね。 私もこれくらいエクセルが使えるようになりたいです。

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

関数を使った条件付き書式だけでも今日の日付に色を付けることができますが、「1月」や「2月」と書かれているセルはどのセル番地で(結合している?)、入力した月の数字は半角か全角かを低j質得ください。

noname#125395
質問者

お礼

関数を使いつつの条件付き書式、なるほど! ありがとうございます! ちなみに入力されている数字は全角だったので、半角に打ち直しました^^;

  • sumer45
  • ベストアンサー率17% (52/294)
回答No.1

マクロだったら  For Each ~ で IF文の組み合わせで簡単にできるんですが・・