• ベストアンサー

エクセル カレンダーを作って予定を入力

エクセルでカレンダーを作り、予定を入力します。 年月の入力欄をいじれば、その年や月のカレンダーに切り替わる仕様です。 しかし、入力した予定はそのままのセルにあるだけです。 当たり前と言えばあたりまえなのですが。 4月のカレンダーには4月の予定、5月のカレンダーには5月の予定と、切り替えられる仕様にする方法はありませんか。

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (260/624)
回答No.3

カレンダーの形が縦長のものと曜日(日~土)の下に一週間分の日付が入ったものと二通りあります。 予定も決まった日、毎週月曜日、毎月第一月曜日といった周期的なもの色々あります。 一番単純なパターンとして カレンダーは縦長で添付のように A列:日付 B列:曜日 C列:予定 予定表は単純に決まった日のみとします(周期的なものも決まった日として入力しておきます。 この予定を少し離れた列(F列:予定日 G列:予定の内容をに配置します。 予定表、カレンダーは3行目から始めるとします。 即ちA3が1日、予定欄は何行必要でしょうか 毎日何かの予定があるとして365行ですのでF3~G367となります。 A1の書式はユーザ設定 ggge"年"m"月" その他のA列の書式は d"日" A3=A1-DAY(A1)+1 の式を入れて、A1にTODAY()関数で 自動で月めくりもしてくれます。 B3=TEXT(A3,"aaa") C3=IF(VLOOKUP(A3,$F$3:$G$367,2,FALSE)=0,"",VLOOKUP(A3,$F$3:$G$367,2,FALSE))

kokosu525
質問者

お礼

こういうカレンダーの作り方もあるんですね。参考になりました。 ありがとうございます。

その他の回答 (4)

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

No.4です! 投稿後間違いに気づきました。 A6セルのINDEX関数の範囲が違っています。 =IF(A5="","",INDEX(Sheet2!$B$3:$M$33,DAY(A5),$A$2)&"") に訂正してください。 どうも失礼しました。m(_ _)m

kokosu525
質問者

お礼

訂正、ありがとうございます。 ここに投稿していただいたカレンダーの作り方は、大事に保存しておきます。 ありがとうございます!

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

こんばんは! 一例です。 ↓の画像で左側がSheet2で Sheet2の (1)B2セル~M2セルまでは「月」の数値だけを1から12までを入力 (2)A3セル~A33セルまでは「日」の数値だけを1から31までを入力 この表に予定を入力していきます。 そしてSheet1の下準備として (1)A1セルに西暦年を!A2セルに月の数値を! (2)C1セルに =DATE(A1,A2,1) という数式を入れセルの表示形式はユーザー定義から mmm としています。 (C1セルは表示したい月の「1日」のシリアル値にします) 以上の準備ができたら A5セル(セルの表示形式はユーザー定義から d としておきます)は =IF(MONTH($C$1-WEEKDAY($C$1)+COLUMN(A1)+7*(ROW(A2)/2-1))=$A$2,$C$1-WEEKDAY($C$1)+COLUMN(A1)+7*(ROW(A2)/2-1),"") A6セルに =IF(A5="","",INDEX(Sheet2!$B$3:$G$33,DAY(A5),$A$2)&"") という数式を入れ、A5・A6セルを範囲指定 → A6セルのフィルハンドルで列方向に土曜日までオートフィルでコピー! そのまま(2行が選択されている状態)で、下へ2行ずつオートフィルでコピー! これで画像のような感じになり、Sheet1の黄色セルのみの操作で自動でカレンダー・予定が表示されます。 尚、画像でもお判りかと思いますが、エラーチェックの緑色の三角が表示されてしまいますので、 これが目障りの場合 Excel2007以降だと ファイルタブ → オプション → 「数式」 → エラーチェック欄 → 「バックグランドでエラーチェックを行う」のチェックを外します。 Excel2003までだと メニュー → ツール → オプション → 「エラーチェック」タブにあります。 こんな感じではどうでしょうか?m(_ _)m

kokosu525
質問者

お礼

世の中のエクセル使いの方には、本当に感服いたします! 知識もさることながら親切さもあり、ありがたいです。 ありがとうございます!

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

下記のURLでも回答していることですが例えば次のようにすればよいでしょう。 年月が変わったら日付や曜日も自動的に月始めから終わりの日までが変わるようにするためには初めに表を作る必要が有ります。 例えばシート1のA1セルに2013/4/1のように入力して、セルの表示形式の「ユーザー定義」で種類の窓にはyyyy"年"m"月" と入力します。これでA1セルには2013年4月のように表示されます。 その月に見合った日付の表示を2行目に行うためにA2セルには次の式を入力して横方向にAE2セルまでドラッグコピーします。 =IF(MONTH(DATE(YEAR($A$1),MONTH($A$1),COLUMN(A1)))<>MONTH($A$1),"",DAY(DATE(YEAR($A$1),MONTH($A$1),COLUMN(A1)))) また曜日を3行目に表示させるためにA3セルには次の式を入力してAE3セルまでドラッグコピーします。 =IF(A$2="","",TEXT(A$2,"aaa")) http://okwave.jp/qa/q8054729.html

kokosu525
質問者

お礼

すごい関数の式ですね!! 右にドラッグコピーしたら、本当に日付がちゃんと並んでいくので驚きました。どういう計算なのかわからないのでただただ感心するばかりです。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>方法はありませんか。 まぁ、マクロとか駆使すれば、「方法はあります」。が、よっぽどモノ好きがオタク趣味に任せて、ゴリゴリ作るようなシロモノです。ここでちょこっと聞いて、ほら簡単にできましたみたいなモノじゃありませんね。 ふつーにエクセルを使ってる分には、ご自身おっしゃってる通り >当たり前と言えばあたりまえ 以上のナニモノでもありません。 #簡単な手順 予定記入セルに記入したら自動起動するマクロを使う  予定が記入(編集・削除)される都度、別シートの「予定一覧」に転記する  A列に年月日、B列にその日の予定、のように 年と月のセルに記入したら自動起動するマクロを使う  予定記入セルを一旦クリアする  予定一覧を調べて予定があったら転記する #「具体的なマクロ」は、あなたが実際に作成しているカレンダーの詳細なレイアウトとか、そういった具体的な内容が無いととても書けません。ここで聞かれても答えませんので、どうしてもやってみたいなら別途詳しい情報を添えて、新しいご相談として投稿してみては。

kokosu525
質問者

お礼

やはり、マクロを使用するようなものなのですね。 回答、ありがとうございました。