• ベストアンサー

エクセルで予定表を作成

予定表を作成したいと思っています。 マクロのことはよく判りません。 やりたいことは・・・ 今現在作っているもので、予定を入力するシートとそこからリンクして予定を表示しているシート(一ヶ月単位のカレンダー形態のもの。一ヶ月1シートになってます)があるのですが、 1)月ごとのシートを選択して表示を切り替えるのではなく、1枚のシート上で、月を選択するだけでそこにその月が表示されるようにしたい。 2)予定に参加する参加者の管理をしたい。参加者は人数が決まっているわけではないのであらかじめ行や列を作っておいても不要になったり足りなかったりしてしまいます。予定を記入するシートとは別に、必要なときだけ自動的に予定が反映された記入する欄なりシートなりを作成できるようにしたい。 のですが・・・ どんな方法があるかアイデアをご提供いただきたいと思います。

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

  • ベストアンサー
  • zenjee
  • ベストアンサー率47% (50/106)
回答No.3

 Sheet1(予定表と仮称)の作り方ですが、最初の回答では、「日」を列(右)方向に表示するようにしておりましたが、予定を入力したいという趣旨のようですから、横書きで入力できるよう、「日」を行(下)方向に表示するように変更して回答します。  A1とB1はセル結合し、表示形式をユーザー定義で「yyyy"年"」とします。  C1は月を入力するセルとし、表示形式をユーザー定義で「0"月"」とします。  A1に次の式を入力します。(なお、Sheet2の、「月初」については前回答と同じです。) =VLOOKUP(C1,月初,2,FALSE)  A2から列(右)方向は見出行とし、例えばA2「表示の有無」、B2「予定番号」、C2「日」、D2「曜」、E2「場所」、F2「予定内容」、G2「○○」………等と仮定します。  A3:A33は別シート(Sheet3)に表示させる行事について、表示させるものには「1」と入力するようにします。  B3に次の式を入力し、B33までコピーします。 =IF(A3="","",SUM(A$3:A3))  C3には前回答同様  「=A1」  と入力します。  C4には次の式を入力し、C33までコピーします。 =IF(C3="","",IF(DAY(C3+1)<DAY(C3),"",C3+1))  D3には次の式を入力し、D33までコピーします。 =IF(C3="","",TEXT(C3,"aaa"))  予定表で使用する列を仮にJ列までとすると、B3:J33を選択し、挿入→名前→定義で、例えば「予定」と名前を付け、OKします。  次は、予定表のうち転記したいデータを自動的に表示するSheet3の作り方です。  1行目は見出列とし、例えばA1「予定表番号」、B1「月日」、C1「曜」、D1「場所」、E1「行事内容」、F1「参加者」、G1[○○○」………のように見出しを付けます。  A2から下行は予定表の予定番号列に表示された数値が自動的に転記されるようにします。  その方法は、A2にとりあえず「1」と入力しておき、A3に次の式を入力して、以下必要と思われる行までコピーします。(B列「月日」の表示形式は日付で適宜選択してください。) =IF(ISERR(IF(SUM(予定表!$A$3:A$33)<A2+1,"",A2+1)),"",IF(SUM(予定表!$A$3:A$33)<A2+1,"",A2+1))  次にB2に次の式を入力し、列方向及び行方向の必要なセル位置までコピーします。 =IF($A2="","",VLOOKUP($A2,予定,COLUMN(B:B),FALSE))  以上で、Sheet1「予定表」のA列に「1」と入力した分のデータがSheet3の該当セルに予定表番号とともに自動的に転記されます。  

0konta0
質問者

お礼

ありがとうございます。 同様に、参考にさせていただきます。 こういうのってご自分で考えるんですか?? 皆さんすごい。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

一読して、頭の悪い私には内容をつかめなかったが、辛抱して読んで 想像を交えながら、下記を記してみます。質問者の意図と違っている場合はお許しを願う。 データ例 予定がわかり次第、a、b列に入力していく。日付的的には順序にならない。 スケジュールはa3から入力し、b1には、後刻必要の都度、月数を入力する。 12 日付 行動内容 2005/10/1 10月販売会議 2005/11/2 社長と同行a社 2005/10/12 b社見積もり 2005/11/22 c社引き取り 2005/10/5 休暇 2005/12/23 d社販促 23 2005/10/13 衛生委員会 2005/11/5 健康診断 2005/10/24 予算提出 2005/11/5 福島出張 2005/12/18 忘年会 18 2005/12/24 クリスマス会 24 2005/12/28 仕事納め 28 2005/12/26 挨拶回り 26 2005/12/3 12月販売会議 3 c3に(目障りならz列などでも良い、ワーク列) =IF(MONTH(A3)=$B$1,DAY(A3),"") と入れて、下方向に式を複写する。 結果上記の通り。 d3に =INDEX($A$3:$B$100,MATCH(SMALL($C$1:$C$100,ROW()-2),$C$3:$C$100,0),1) と入れて下方向に式を複写する。 d3はsHEET2へ持っていくことも可能。とりあえず同一シート(sHEET1)にします。 e3に =INDEX($A$3:$B$100,MATCH(SMALL($C$1:$C$100,ROW()-2),$C$3:$C$100,0),2) と入れて下方向に複写。 結果 日付 行動内容 2005/12/3 12月販売会議 2005/12/18 忘年会 2005/12/23 d社販促 2005/12/24 クリスマス会 2005/12/26 挨拶回り b1を10にすれば、即座に10月の予定が、列に表示される。 (注)1.c列をz列にしたり、sHEEt1のd,e列をsHEET2の列に持っていくと式は当然変わります。 2.d列を式複写してf列を正しき出す方法もあります 2のところをcOLUMN()--3にします。 3下の方の行で#NUM!が出るセルができるが、=COUNT($C$3:$C4100)が =ROW()-2より大きいかif文で聞いて空白にしてください。 式が長くなるので、とりあえず省いた回答です。 (2)の参加者の問題 良ければ実例でも上げてください。 「自信あり」は、上記例では、確認済みの意味です。

0konta0
質問者

お礼

ありがとうございました。 一生懸命説明を読みながらチャレンジしたいと思います。 皆様のご意見を参考にさせていただきます。

  • zenjee
  • ベストアンサー率47% (50/106)
回答No.2

 こんにちは。  まず予定表ですが、私が過去ある所で同様の作業をやっていたときの例を掲げておきますので、よかったら参考にしてください。  シート2に次のような表を作り、挿入→名前→定義で、例えば「月初」と名前をつけ、参照範囲は「=Sheet2!A:B」としておきます。この表のA列は、「月」でA1に例えば「11」B1に「2005/11/1」と入力、A2に =IF(A1=12,1,A1+1) B2に =EDATE(B1,1) と入力し、下行にコピーします。 なお、表はほぼ1年ごとに参照済(処理済)の行を削除し、AB列最上セルに月とその月初日の日付を入力、最下行から下に順次上の式をプルダウンコピーし表を更新していきます。 A B 11 2005/11/1 12 2005/12/1 1  2006/1/1 2  2006/2/1 3  2006/3/1 4  2006/4/1 5  2006/5/1 6  2006/6/1 7  2006/7/1 8  2006/8/1 9  2006/9/1 10 2006/10/1 11 2006/11/1 ↓  シート1のB1を「月」入力のセルとし、当月起算日の月を入力します。  A1に次の式を入力します。なお、A1の表示形式は「yyyy/」とし、A1とB1間の罫線は、線なしにします。 =VLOOKUP(B1,月初,2,FALSE)  B1に入力した月数を検索値として、A1にその月の初日が入ります。  C列は見出列とし、C1が「日」C2が「曜」とします。  D1の式は  =A1  とします。  E1に次の式を入力し、AH1までコピーします。 =IF(D1="","",IF(DAY(D1+1)<DAY(D1),"",D1+1))  これは、当該月の暦に応じ、月末の翌日を表示させない(空白にする)ための式です。(例えば11月31日など)  D2に次の式を入力し、AH2までコピーします。これは曜を表示する式です。 =IF(C1="","",TEXT(C1,"aaa"))  なお、蛇足ですが、休・祝日はセル色・文字色が変わるよう、別シートに10年分ぐらいの休日一覧表を作っておき、シート1のC1:AD2に条件付き書式を定義しておりました。条件付き書式の定義方法については、お求めがあれば別途お答します。  祝日一覧表は下記サイトからダウンロード可能で、この表に土、日、会社休日などを加え、一覧表にすると便利でしょう。http://www.vector.co.jp/download/file/win95/personal/ff367806.html  以上は質問(1)の予定表の部分に対しての回答ですが、質問(2)については、具体的にどのようにされたいのか、ちょっと意味が分かりません。 別シートに氏名や予定を入力すると予定表の該当セルに自動的にデータが反映されるようにしたい、という意味でしょうか。これについては補足ご説明があればお答えできるかも知れません。

0konta0
質問者

補足

ありがとうございます。 じっくり読んで、研究させていただきます。 (2)の質問は おっしゃっているのとは逆で、 予定の記入シートに予定を入れたものが、必要な予定のものだけ(例えば何か一つ指示をしたりすると)別のシートや場所に日付や予定が反映されその詳細を書き込めるようになる。できれば複数行が任意で。 と言うのが希望なのです。 その詳細は予定によっては必要がなかったりするので、記入シートにそれを記入できる欄を最初から作ってしまうととてつもなく大きな表になってしまって見づらくなりそうなものですから。 (言っている意味分りますか???すみません,説明が下手で。)

  • 11369
  • ベストアンサー率29% (20/67)
回答No.1

 質問に対する正確な回答ではないですが、別の方法を提案させていただきます。  エクセルでご質問のようなものを作成するのは、可能ですが時間がかかることと、いずれは管理しきれなくなりすたれてしまうのではないかと考えられます。複数のバージョンのファイルがいくつもできてしまったり、改ざんが可能であったり、リンクが複雑すぎてわけがわからなくなるなど、多くの問題が予想されます。  予定表の作成・管理は、グループウェアを利用することをお勧めします。ウェブサーバーが必要となりますが、参加者の管理をしたいということであれば、LANを組まれているのでしょうから導入は容易でしょう。 グループウェアといってもたくさんあると思いますが、お薦めはフリーソフトのURLに示したものです。

参考URL:
http://wiz.syscon.co.jp/
0konta0
質問者

お礼

ありがとうございます。 とても魅力的なソフトですね。 是非使ってみたいと思うのですが・・・ なにぶん、私にはそういった物を取り込む権限を有していないので、すぐに導入。というわけには行きません・・・ ですが、検討の余地も充分あると思いますので、参考にさせていただきます。 (こういったことがエクセルでもどうにかできると良いのですが・・・)

関連するQ&A

  • Excelで月間予定表を作成したのですが。。。困っています(>_<)

    ヘルパーさんの月間予定表を作成しました。 全体予定表シートにすべての予定を入力し、 別シートで担当者別、もしくは同一シートで担当者別に予定表を表示できないものかと。。 担当者別で配布が必要なため。。。 全体予定表シートの作りは、 カレンダータイプ(日始まり土曜日)で、 A5~C5(結合セル)→曜日(日曜日) A7~C7(結合セル)→日付(1日) A8~A20行先(リスト選択・別のマスタシート参照)  B8~B20→時間(手入力) C8~C20→担当(リスト選択・別のマスタシート参照) ↑上記が1日分とみなし、予定が12回分まで入力できる形で作成し、横に7日分、下に5日分 合計35日分で1ヶ月分の月間予定表です。 何か方法があれば、教えてください。 よろしくお願いいたしますm(__)。

  • エクセルでの日程表作成

    一度投稿しましたが、用が足りておらずご指摘事項を再掲載させていただければと存じます。 お世話になります。エクセルでの日程表作成について教えていただければ幸いです。 習い事を運営していまして、毎月の生徒ごとの授業日程カレンダーをエクセルで作成したいと思っています。(添付画像の日程表) 別シートに生徒名を打ち込んであり、カレンダーの氏名をプルダウンで選択しています。 例えば、 氏名 G1 で 山田太郎 を選んだ時、G7に sheet2 のF2を 氏名 G1 で 山田花子 を選んだ時、C8にsheet2のB3、E8にsheet2のD3を 上記のように、生徒ごとに反映させたいです。 上手く説明できておらず申し訳ございませんが、よろしくお願いいたします。

  • エクセルの関数式について教えてください。

    エクセルで12個のシートに各月の勤務シフトを作成しています。13個目のシートは社内で使用しているカレンダーになっていて、プルダウンで月を選べるようになっています。 カレンダーの4月をプルダウンで選んだら4月のシートから反映、5月を選んだら5月のシートから反映するようにしたいのですが、式がわかりません。。単体だと反映するのですが…。 ちなみに、式はこんな感じです。 IF(B1="4月",VLOOKUP(A5,'4月'!B5:AG5,2,FALSE),"") カレンダーシートは1つでプルダウン選択し、各シートから反映させるにはどうしたらいいでしょうか? よろしくお願い致します。

  • Excelで予定表作成

    Excelで予定表作成 材料準備 11月5日 成型 11月6日 塗装 11月8日 組立 11月10日 出荷 11月11日 上記の様に、材料準備の部分に日付を入力すると 会社指定の休日に対して、稼働日を計算した 予定日を表示したいと考えております。 会社指定休日は、別シートにて 11月1日 月 ○ 11月2日 火 ○ 11月3日 水 ○ 11月4日 木 ○ 11月5日 金 ○ 11月6日 土 (チェック) 11月7日 日 (チェック) 11月8日 月 ○ 11月9日 火 ○ 11月10日 水 ○ 11月11日 木 ○ 11月12日 金 ○ 11月13日 土 ○ 11月14日 日 (チェック) 上記の様なカレンダーを作製したのですが WEEKDAY関数では土曜日も問答無用で休日に なってしまう様ですし、どうすればよいか悩んでおります。 どなたか宜しく御教授下さい。

  • Excel 2007 マクロ 表の集計について

    Excel 2007 マクロ 表の集計について 2つのシート(Sheet1とSheet2)の情報を集計して Sheet3に反映するマクロを考えています。 (1)Sheet1のC列、D列、E列とSheet2のC列が空欄の場合は  Sheet3に反映しません。 (2)Sheet1のC列、D列、E列とSheet2のC列のいずれかに数値が  入っている場合にはSheet3に行を反映します。  ※Sheet3に反映する際に、Sheet1とSheet2のキー(A列)は  反映しません。  各Sheetの表は画像を添付します。  どのようなマクロを作成すればよろしいでしょうか。  マクロの超初心者です。  マクロのサンプルをご紹介頂けますでしょうか。

  • エクセルで関数を使って予定表を作りたいのですが・・・

    エクセル2000で予定表を作成する課題があります。 C3に西暦、D3に月、A6~A36まで日にちを入力しています。 (1)B6~B36まで曜日、C列には祝日の何の日かを表示させるにはどうしたらいいですか? (2)土曜、日曜、祝日は日付、曜日の文字を赤色にするにはどうしたらいいですか? (3)常に2か月分のカレンダーを表示させるにはどうしたらいいですか? お願いします。

  • 同じExcel表を何枚も作成したい

    こんにちは。 Excelで簡単な計算表を作成しました。 たとえば、この表を12ヶ月分作成したいとします。 1枚目:原本(数値は未記入) 2枚目から同じ様式で数値のみ記入できる状態でありたいです。 現在はsheet1:原本 sheet2以降は原本をコピーすると表の幅がずれてしまい 悪戦苦闘中です。 これをずれないような方法、またはほかにいい方法など ありましたらアドバイスお願いいたします。

  • Excel の表

    同窓会の幹事をしています。 シート1に名簿を作成しています、A列からG列まであり、B列には氏名を記入しています、G列には出欠(○、×)を記入するようにしています。 そこで質問です シート2に B列には出席者の氏名、C列には欠席者の氏名、D列には出欠の返事がまだ来ていない氏名 が表示されるようにしたいのです。 返信のはがきが届き次第シート1に ○、×を記入するとそれがシート2に反映され、常に 出、欠、未 の氏名が表示されるように出来る方法は有りますか? もしありましたら教えてください。 Excel 2002 です

  • Excelで月間予定表を作成する方法

    Excelで月間予定表を作成したいのですが、初心者でも分かるように詳しく作成の仕方を示してあるサイトをご存知ないでしょうか? テンプレートとして配布してあるサイトもいろいろ探しては見たのですが、 なかなか自分好みのものが見つかりません。 縦型ではなく、横型カレンダーの形で年月を入力すると日付が自動で入るようなもの。 祝日等、自動で色付けが出来る。 更に予定が記入できるような余白部分があるものを作りたいのですが… どなたかご存知でしたらお教え頂けないでしょうか? よろしくお願い致します。

  • エクセルのマクロ

    【シート1】 見積書フォーマットを作成しており、見積発行依頼があればこのシートに記入します。 【シート2】 シート1で作成した見積データを見積No.順に保存するシート。 ここからが、質問です! ・シート1で作成した見積のデータをマクロでシート2に蓄積していきたい。 ・シート2に蓄積してある見積データの見積No.を選択すると自動的にシート1に見積内容が反映され、過去の見積書を印刷することが可能。 このようなことをしたいのですが、マクロをどう組めば良いのかわかりません。 どなたか教えてください! 仕事で困ってます・・・。

専門家に質問してみよう