アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

4月のカレンダーには4月の予定、5月のカレンダーには5月の予定と、切り替えられる仕様にする方法はありませんか。

A 回答 (5件)

カレンダーの形が縦長のものと曜日(日~土)の下に一週間分の日付が入ったものと二通りあります。


予定も決まった日、毎週月曜日、毎月第一月曜日といった周期的なもの色々あります。

一番単純なパターンとして
カレンダーは縦長で添付のように

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))
「エクセル カレンダーを作って予定を入力」の回答画像3
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/23 19:52

No.4です!


投稿後間違いに気づきました。

A6セルのINDEX関数の範囲が違っています。
=IF(A5="","",INDEX(Sheet2!$B$3:$M$33,DAY(A5),$A$2)&"")

に訂正してください。
どうも失礼しました。m(_ _)m
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/24 15:22

こんばんは!


一例です。
↓の画像で左側が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
「エクセル カレンダーを作って予定を入力」の回答画像4
    • good
    • 2
この回答へのお礼

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

お礼日時:2013/04/23 23:49

下記の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://oshiete.goo.ne.jp/qa/8054729.html
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/23 19:58

>方法はありませんか。



まぁ、マクロとか駆使すれば、「方法はあります」。が、よっぽどモノ好きがオタク趣味に任せて、ゴリゴリ作るようなシロモノです。ここでちょこっと聞いて、ほら簡単にできましたみたいなモノじゃありませんね。

ふつーにエクセルを使ってる分には、ご自身おっしゃってる通り
>当たり前と言えばあたりまえ

以上のナニモノでもありません。



#簡単な手順
予定記入セルに記入したら自動起動するマクロを使う
 予定が記入(編集・削除)される都度、別シートの「予定一覧」に転記する
 A列に年月日、B列にその日の予定、のように

年と月のセルに記入したら自動起動するマクロを使う
 予定記入セルを一旦クリアする
 予定一覧を調べて予定があったら転記する


#「具体的なマクロ」は、あなたが実際に作成しているカレンダーの詳細なレイアウトとか、そういった具体的な内容が無いととても書けません。ここで聞かれても答えませんので、どうしてもやってみたいなら別途詳しい情報を添えて、新しいご相談として投稿してみては。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/23 19:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!