- ベストアンサー
エクセル年間予定表の使い方とは?
- エクセルで年間予定表を作成する方法を紹介します。具体的な手順はA1に年、A2に月を設定し、A5にその月の1日をDATE関数で設定することです。1ヶ月ごとに予定表を作成するため、A2の月の数字を変えると表の日付と曜日が変動します。予定を入力するセルも月ごとに固定されるかどうか、その方法も解説します。
- エクセルを使用して年間予定表を作成する方法について説明します。具体的な手順は、A1に年、A2に月を設定し、A5にその月の1日をDATE関数で設定することです。また、予定を入力するセルも月ごとに固定する方法についても紹介します。これにより、月ごとにコピーして保存する必要がなくなり、1つのシートで予定表を作成できます。
- エクセルを使って年間予定表を作成する手順を紹介します。まずは、A1に年、A2に月を設定し、A5にその月の1日をDATE関数で指定します。これにより、曜日も設定されます。予定を入力するセルも月ごとに固定する方法についても解説します。これにより、月ごとの予定表を個別に作成する必要がなくなり、1つのシートで年間の予定表を作成できます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
それであればご説明した関数ではダメですね。 ちょっとサンプルを作成してみたのですが、全て同じシートで管理するのは大変ですね。 ですが、シートに例えば予定閲覧シート、1月予定表、2月予定表 と記入するシートと閲覧するシートを分ければ可能です! まず既に作成済みのシートを予定表閲覧用とし、日付の横にでもAさん、Bさん、Cさんの予定表欄を作ります 続いてシートで1とか2と言う名前のシート(見分けが付けば何でも良い)を作成し、そこには1日~31日までのそれぞれの予定表記入欄を作ります ここから関数を組んでいきます。 まず、予定閲覧シートの端っこでも良いです。 一番上に1、下のセルにAさん、その下に =HLOOKUP($C$5,'1'!$C$4:$C$35,F6,FALSE) と関数を入れます。 $C$5は日付の横に作ったAさんと言う値を参照しています (この関数の上に入れたAさんでも良いです) '1'!$C$4:$C$35 はシート1のC4~C35、つまりAさんの1日~31日を参照しています F6は横着するために個人的に作ったのですが(^^;)、参照しているF6には2と言う数字が入っています この2は2行目と言う意味です。 つまり1月ならシート1のAさんの予定表から検索している範囲の2行目を出せと言う事になります。 ですから、これが2日なら3行目、3日なら4行目となります これをコピーして31日まで参照するセルを作っています。 さらに一番上の値を1から2に変えた行も作ります (つまり1~12月すべての参照セルを作る) ちなみに2月の行の1日には =HLOOKUP($C$5,'2'!$C$4:$C$35,F6,FALSE) シート2=2月のシートを参照するようにしただけです。 ※作る時にコピーしても絶対関数を使用している関係かで行の値が増えないので横着してF6を参照する元式を作って、それだとコピーするとF7、F8と増えていくのでF7には3、F8には4と言う具合に数値を埋めてあります。 続いてですが 一番最初に作った日付の横にあるAさんの1日のセルには =HLOOKUP($C$3,$H$4:$J$36,G6,FALSE) と記入します C3は月になるので1とか2と記入します $H$4:$J$36は先ほど作ったAさんの予定表を参照している範囲です。 選択範囲は頭の1からAさん、そして1日~31日までです G6は先ほどと同じようにG6には数値があります。 G6には3が入っています。 3、つまり3行目と言う事です。 と言う事は1ならそれぞれのシートから参照したセルの1月~12月の中から1月の3行目を出せと言う事です。 1行目は1、2行目はAさん、3行目は1日ですから1日の予定表を取り出せます。 BさんもCさんも同じ要領で作成してやれば、最初の作り込みは人数が多いと大変ですが一覧で閲覧することが出来、尚かつ過去の分も見ることが可能です。 もし去年の分となるとシートで08年1月、09年1月と作成し、参照するシート名を1から08年1月と変えれば可能ですね。 ただし、増えれば増えるほど莫大な関数を組む必要が出てきますから、もう少し改良してやらないと今回サンプルで作ったやつで厳しいかも知れません^^; 少しイメージと違うかも知れませんが大枠は良い方向に進んだかなと思います。
その他の回答 (3)
- FIRE-STEED
- ベストアンサー率29% (34/116)
お礼有り難う御座います^^ 早速ですが >と関数を入れてみると「ファイルがみつかりません」と出てしまいます。 と言うことなのですが、1月用のシート名を単なる「1」のみにしてみて下さい。 もしくは現在、シート名を「1月」としていれば =HLOOKUP($C$5,'1月'!$C$4:$C$35,F6,FALSE) と記入します。 これで上手く行くかと思いますよ^^ ちなみにですが、見やすいように好きなセルから記入して貰って構いません。 検索範囲などを設定してありますが、とりあえずで作った物なので^^; あと縦書きが見にくければ横書きにすることも可能です。 その際には「HLOOKUP」関数ではなく「VLOOKUP」関数を使います。 指定された検索範囲の一番左側の数値を検索して、その何列目を取り出すか?と言う組み方になるので縦か横かだけの違いですから、組み替えも比較的簡単ですよ。
お礼
本当に有難うございました!!! 試行錯誤しながらなんとか出来上がりました(^o^)丿 今回の予定表は人数や予定も多く複雑なので時間をかけて改良しながら頑張ってみます。 それに今回教えていただいた物がかなり他にも活かせそうなのでいろいろ作り直したくなりました。 本当に毎回こんな素人相手に丁寧に教えて頂いてありがとうございました。 感謝、感謝です。
- FIRE-STEED
- ベストアンサー率29% (34/116)
大体のやってる事は分かりました。 例えば、毎月であるとか2月のこの曜日だけと言うのであれば、前回お答えした関数で十分対応できると思います。 例えば2月の26日が自分の誕生日だとすれば固定日ですからこれ自体に関数を組む必要はありません。 それで1つのシートで表示したいと言うことですから年間カレンダーを作成する必要があります。 まず1~12月のセルを作ります。 そして2月26日に該当するまセルには誕生日と記入しておきます。 その月の頭のセルに1月なら1、2月なら2と記入しておきます。 つまり1|1/1|1/2|1/3 2|2/1|2/2|2/3 と行った感じになります。 続いてさらに別項目に =VLOOKUP(A2,年間カレンダー!A1:AF32,?, FALSE) 年間カレンダー!はシート名、?には取り出す日を設定します VLOOKですから取り出す日が左から数えて何行目にあたるか?と言うことになります。 頭の数字1とか2からカウントしますから1日なら2、2日なら3となります。 これで月を変動させた場合にそのセルを参照してそれに基づいたカレンダーを参照します。 ここからは色々と手法があるのですが、VLOOKで参照した予定をどう表示するかです。 普通に予定表を記入する欄に関数を組んでしまうと、その上から文字を入力出来ません。 別項目に記入用欄を設けてそこに記入した予定と、VLOOKで参照した予定をCONCATENATEを用いて合体させて表示させる手もあります。 個人的に一番扱いやすいと思うのは固定の予定表欄を設けて、そこにvlookの関数を仕込みます。 そして通常の予定表を記入するセルと2種類の予定表セルを作っておけば、固定の予定だけでなく、変動する予定も記入できるので使い勝手が良いと思います。 (尚かつ余計な式が減ってシンプルになる) 曜日固定の場合は前回お答えした関数を使い、同じくVLOOKで取り出せば、固定と同じように扱えると思います。 私も勤務表で休日、祝日(固定・変動)を参照するために同じ関数を使っていますが、これが一番確実かと思います。 本来であればエクセルをアップデートしてお見せするのが一番なんでしょうけどね^^; 一応今使っている年間カレンダーの一部を撮影しました。 この日となっている部分を予定に変えて日付の部分を空白にします。 もし曜日固定の予定ならば、関数を組んで予定を割り出すようにして下さい。 最後に余計なお節介ですが、違うスレをたてる場合はお礼無しでも結構ですから、スレを終了させてから新規スレを立てる方が良いですよ。
お礼
ご丁寧に本当に有難うございました。 実は会社の予定表で○日、AさんAM○○会社PM○○会社、BさんCさん△△現場・・・・ と毎日違ってくるのです。 今までは月ごとに保存してファイルを開いていたのですが、どうせなら1つのファイルで入力した細かい予定も文字がそのままセルごと表示できないかと思ったのですが・・・ 年月を指定した時にその月の入力した予定のセルも連動して表示してくれれば過去もこの先の予定も1つのファイルで管理できればいいなぁ~と思いそんな方法があるのか相談させて頂きました。 前回も今回も本当に判り易い丁寧なご回答有難うございました。
- riveron77
- ベストアンサー率48% (180/370)
イメージでw 2008年| 2月 | 予定 ---------------------------- 1 | 金 | 2 | 土 | 3 | 日 | 年月を変えると↓ 2009年| 2月 | 予定 ---------------------------- 1 | 日 | 2 | 月 | 3 | 火 | …こうなるところまではできている。 今回の課題は 2008年| 2月 | 予定 ---------------------------- 1 | 金 | 運動会 2 | 土 | 3 | 日 | 年月を変えると↓こうしたい。 2009年| 2月 | 予定 ---------------------------- 1 | 日 | 2 | 月 | 運動会 3 | 火 | …ということなのかな、と。 もし課題の内容があっていたら、VBAとかでやるとできるんじゃないかな…と思いますが。 ・シートにボタンを追加。 ・ボタンに「曜日をチェックする」処理と「チェックの結果、(例えば)土曜日だったら予定を次の行に移す」という処理をつける。 …とかやるとできそうな気がしますが。 プログラムを書くことになると思いますが… 課題の内容が違っていた場合、補足するとよりアドバイスを受けやすくなると思います。 VBAなんてわからない、というのであれば、周りの詳しい方に相談されることをお勧めします。 ↓こちらの方がアドバイスを受けやすいかもしれません。 【Office系ソフト - 教えて!goo】 http://oshiete1.goo.ne.jp/207/218/c232.html 長文、失礼しました。
お礼
ご回答ありがとうございました。 自分でもいろいろ調べてみたのですが、思ったものがなく・・・ 詳しくないので「VBA」も知りません。 もう少し勉強してからにします。
お礼
お返事遅くなってすみません。実は家のパソコンが画面がディスプレイ設定に問題ありのメッセージが出て画面がおかしくなって以来使っていないので会社のパソコンでしか見る事ができないのです・・・・(-_-;) 画像付の丁寧なご回答に心から感謝しております。 早速ためしているのですが、一番上に1、下のセルにAさん、その下に =HLOOKUP($C$5,'1'!$C$4:$C$35,F6,FALSE) と関数を入れてみると「ファイルがみつかりません」と出てしまいます。画像と同じ表を新たに作って試しているのですが、シートの作り方に問題があるのでしょうか・・・ 暇な時で結構ですので宜しくお願いします。