• ベストアンサー

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

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

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

  • ベストアンサー
  • char0078
  • ベストアンサー率27% (32/118)
回答No.3

ピボットテーブルを使えば担当者別や行き先別などの表がとても簡単にできますが、そのためには元データの表をリストの形に作り直さなければなりません。 元の月間予定表のシート名を「予定表」とします。 別シートに、 A1:曜日 B1:日付 C1:行き先 D1:時間 E1:担当者 として、 A2~A14に =予定表!$A$5 (全部同じ式を入れる) B2~B14に =予定表!$A$7 (全部同じ式を入れる) C2~C14に =予定表!A8 ~ =予定表!A20 D2~D14に =予定表!B8 ~ =予定表!B20 E2~E14に =予定表!C8 ~ =予定表!C20 のように、2行目から14行目を1日分とします。 同様に15行目から27行目を2日分として、35日分の縦長の表を作って、予定表の記入内容が反映されるようにしておきます。 (この表はデータベース用なので体裁は適当でいいです) この表を元データとしてピボットテーブルを作ります。 データ → ピボットテーブルとピボットグラフレポート を選択すると、ウイザードが立ち上がりますので、後は指示の通りに進んでいけば出来上がります。 担当者別など色々な表が出力できて便利です。 ただ、ピボットテーブルは、元データの作り方で全て決まってしまいます。 元データに空白行があったりするとうまく行きませんので、ピボットテーブル作成前に空白行を削除しておいてください。 あと、ピボットテーブルは自動再計算を行わない仕様になっていますので、データを変更した場合にはピボットテーブルの更新を忘れないようにしてください。

参考URL:
http://hp.vector.co.jp/authors/VA014071/tips/xl_pvt1.html
noname#25188
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 無事解決できましたので、お礼申し上げます。 ありがとうございました。

noname#25188
質問者

補足

char0078様。 ご回答ありがとうございます。 ピポットテーブルですね!! マクロは実行ボタンを押すのと、いらない部分を削除することしかやったことがなかったのですが、 ピポットテーブルなら!うんうん。ちょっと希望が沸いてきました。 入力するシートを“予定表”として、 反映シートをカレンダーフォームで、管理者用(全体)と担当者別でできるように、早速やってみます。また分からないことがあれば、教えていただければ幸いです。よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

マスターシートを"main" プリントシートを"print"とします。 "print"シートのB1に担当者の名前をいれておきます。 後は、「ツール」「マクロ」「Visual Basic Editor」で「挿入」「標準モジュール」のあと、ダイアログ画面上に次のコードを入力orペーストしてください。 後は、「マクロ」「実行」で"print"シートに担当分が出てきます。 注意:(1)書いてあるセル番地を元に作ったのですが、もしずれていればいけませんので、必ずコピーをとったもので確かめてください。 (2)また"print"シートの担当者を入れる場所は、どのセルでもいいですが、変更したら、コードの'担当別検索 Tantou = WS2.Cells(2, 1).Value の部分のceiis(2,1)の数字を変えてください。2-行、1-列を表しています。 (3)シートの名前もSet WS1 = Worksheets("main") Set WS2 = Worksheets("print")の名前を変えればいいです。 (4)空白が多いですが、担当がわかればいいのであればこれでいけるかと? ---------------------------------- Sub Tantou() Dim i, j, k As Integer Dim WS1, WS2 As Object Dim p, q, r As Integer Dim Tantou As String p = 13 q = 7 r = 5 Set WS1 = Worksheets("main") Set WS2 = Worksheets("print") Application.ScreenUpdating = False With WS2 'print シートデータ消去 WS2.Range("A8:U20").Select Selection.ClearContents WS2.Range("A24:U36").Select Selection.ClearContents WS2.Range("A40:U52").Select Selection.ClearContents WS2.Range("A56:U68").Select Selection.ClearContents WS2.Range("A72:U84").Select Selection.ClearContents WS2.Range("A1").Select '担当別検索 Tantou = WS2.Cells(2, 1).Value If Tantou = "" Then Exit Sub For k = 1 To r For j = 1 To q For i = 1 To p If WS1.Cells(k * 16 + i - 9, j * 3).Value = Tantou Then WS2.Cells(k * 16 + i - 9, j * 3).Value = Tantou WS2.Cells(k * 16 + i - 9, j * 3 - 1).Value = WS1.Cells(k * 16 + i - 9, j * 3 - 1).Value WS2.Cells(k * 16 + i - 9, j * 3 - 2).Value = WS1.Cells(k * 16 + i - 9, j * 3 - 2).Value End If Next i Next j Next k End With End Sub

noname#25188
質問者

お礼

お礼が遅くなって申し訳ありませんでした。 今回は、NO.3の方の方法で解決できました。 ありがとうございました。

noname#25188
質問者

補足

pascal3141さん、丁寧なご回答ありがとうございます。 教えていただいた通りに、シートの名前も変更し、ヘルパー名もprintシートのB1に入力し、行ってみたのですが、 >Set WS1 = Worksheets("main")この段階で実行時エラーが発生してしまいます(>_<) 何がいけないのでしょうか??

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

逆転の発想 各担当者別に入力し、 管理する表に一覧表示されるようにする。

noname#25188
質問者

お礼

ご回答ありがとうございます。 当初、各自のシートで作成して行ったのですができず、逆転の発想をしたつもりでいけない方向へ行ってしまったのでしょうか?再度検討させてもらいます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 1.excelで年間予定表と別シートの月間予定表が連動した予定表を作成

    1.excelで年間予定表と別シートの月間予定表が連動した予定表を作成したい。 2.別シートの月間予定表(1年分を横に並べている)では、月毎に (1)当月分の左端に年間予定表の当月分、 (2)その右に、年間予定表の予定項目ごとに[列を与えて]整理して予定を書いている。 3.月間予定表の(1)を年間予定表と連動させたい。 即ち、年間予定表の予定項目を追加、書き換え、削除したとき、月間予定表の(1)が自動的に訂正されるようにしたい。 4.年間予定表は6月分をA4横1ページに、月間予定表は一月分をA4縦1ページにプリントアウトしている。画面で見るだけではなく、プリントも利用している。  年間予定が時々変更になり、それに合わせて月間予定を書き変えねばならないので、連動すれば大変助かります。よろしくお願いします。 以下は多くの人にとって読む必要はないと思います。 ご助言の参考になればと思い、今使っている年間予定表・月間予定表の実態を示したものです。 ☆ 年間予定表は1行目に月(1月から12月) 2行目以下は月ごとに、最左端(1月の場合A列)に日付、その次の列(1月の場合B列)に曜日 その次の列(1月の場合C列)に年間予定項目(例:箱根ドライブ、九州ドライブ、自治会総会…)を記入する。 ☆ 別シートの月間予定表: ア:各月ごと(例えば1月)の最初の3列は年間予定表(例えば1月)の月名、日付、曜日、年間予定項目をカット&コピーで張り付ける。  又は、=関数を使う。即ち月間予定表のa列1行目に=を使って、年間予定表のa列1行目をもってくる。月間予定表のa列1行目を31日までドラッグして年間予定表に同期させる。同様のことを、残りの2列についても実行する。(この方法は1月分に3回、1年分で36回繰り返さなければならない。もっと楽な方法、ありません?) イ:各月ごとの4列目から概ね10列目に年間予定項目ごとの詳細計画を記入する。 例えば、 4列目の1行目(タイトル行)箱根ドライブ 4列目の2行目以下の該当する日ごとに、(例えば4日)箱根の情報収集、(6日)旅館決定、(15日)ドライブ実施  5列目の1行目(タイトル行)九州ドライブ 5列目の2行目以下の該当する日ごとに、(例えば8日)九州の情報収集、(10日)旅館決定、(11日)友人に連絡 (25日)ドライブ実施 以上です。

  • エクセル予定表のリンク

    エクセルで年間予定表シートと月予定表シートをリンクさせています。 年間シートは,A3から1年分の日付が縦1列に並んでおり,A1に西暦を入力すると曜日が変化する万年歴になっています。B列にその日の予定を入力しています。 月予定表シートは,4月がA列B列,5月がC列D列,・・・と並んでおり,日付も予定も年間シートからリンクしています。 ここまでは,「=年間予定表!B7」というような式で十分だったのですが,2月が閏の場合に月予定表の3月1日のセルが年間予定表の2月29日を参照してしまいます。 年間予定表のA337が3月1日の場合はそのまま参照し,2月29日の場合は次のセルを参照する関数はないでしょうか。

  • 月間予定表の作り方

    エクセルで月間予定表を作ろうと思っています。参考資料にこのような 式が入力されていたのですが 意味がわからないので教えてください。     A       B       C 1 2          2007/10/1   3            日      予定 4 5 B4セルに=IF(B2=””,””,B2) B5セルに=IF(B4=””,””,IF(DAY(B4+1)=1, ””,B4+1)) B5セルの式の後半部分のIF(DAY(B4+1)=1 のこの意味がわかりません。教えてください。

  • エクセルで作成した「月間売上高表」から「顧客別売上高表」を作成する方法

    「月間売上高表」のA列:顧客名、B列:代金、C列:商品名を入力しました。  この表から「顧客別 月間売上高表」を作成する方法を教えてください。

  • エクセルで予定表を埋める

    月の生産予定表をエクセルで作ろうと思っています. たとえば,A製品を1日~10日 B製品を11日~31日までの 予定の時に 入力するセルを 製品名  開始日  終了日 A製品   1    10 B製品  11    31  と入力すると 月間予定表の  1 A製品  2 A製品  3 A製品  …  … 10 A製品 11 B製品 と埋まるようにしたいのですが,よい方法がありますでしょうか? 製品に使用する原料は製品名がかかれたセルを参照して LOOKUPで拾うようにしたのですが,製品を切り替える時に ロスが発生するので,製品生産量が切替当日だけ減産する事情があり このような 入力方法を考えてみたのですが,表に埋める いい方法が思いつきません.

  • エクセル2003で、月の予定表を作成するには

    B3が日C3が曜日D3からG3までセルを結合して部屋の予定表 今年の年号はB2に表示、月はE1に表示しています。 B4に関数 =IF(MONTH(DATE(B$1,E$1,ROW(A1))))=E$1,DATE(B$2,E$1,ROW(A1)),"")が入力されています。 今回の質問ですが、別表の祭日の振り替え休館日のシートに列記した日(B4の日付を見て)が先ほどの予定表に休館日と表示するためにはどんな関数を入力したらよいのでしょうか。 また、毎週水曜日が休館日と表示するにはどんな関数を入力したらよいでしょうか。 宜しくお願いします。

  • エクセルでリストに対応するデータを別シートの表

    エクセルでリストに対応するデータを別シートの表に参照したいです。 「表シート」のB2にリストを作って、 (リストは「一覧表シート」のA,B,Cが入力されているセルを参照しています。) Aを選択すると101の下の段(B11)に、 「一覧表シート」のAの列101の111が入力されるようにしたいです。 Bを選択すると222、Cを選択すると333が入力できるようにしたいです。 この「表シート」の表がややこしいのですが、 建物の部屋番号に対応しているため、3階2階1階という順になっています。 関数で対応できるものでしょうか? 分かりにくい表ですが、よろしくお願いします。

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

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

  • Excelで勤怠管理表を作っています。

    以下のようにSheet2で1名に対し、5行使って勤怠を管理しています。   A  B  C  D  E  F  G  ・・・ 1      7/1 7/2 7/3 7/4 7/5 ・・・ ------------------------------------------ 2   予定 8  8  4     8  ・・・ 3    実働 8  0  4     8  ・・・ 4 田中                 ・・・ 5                    ・・・ 6                    ・・・ ------------------------------------------ 7   予定    8  8  8  8  ・・・ 8   実働    8  8  8  8  ・・・ 9 佐藤                 ・・・ 10                   ・・・ 11                   ・・・ ------------------------------------------ A2~A6、A7~A11は結合されており、別シート(Sheet1)から VLOOKUPで名前を自動表示させています。 数字は勤務時間で、空欄は公休日です。 このシートの勤怠部分を別シート(Sheet3)で名前に紐付けて 取り出したいのですが、自分の知識ではVLOOKUPが使えなくて 困っています。 Sheet3 以下のようにSheet2で1名に対し、5行使って勤怠を管理しています。   A  B  C  D  E  F  G  ・・・ 1      7/1 7/2 7/3 7/4 7/5 ・・・ ------------------------------------------ 2 田中 予定 8  8  4     8  ・・・ 3    実働 8  0  4     8  ・・・ ------------------------------------------ 4 佐藤 予定    8  8  8  8  ・・・ 5    実働    8  8  8  8  ・・・ ------------------------------------------ ちょっとわかりにくいですが、A2~A3、A4~A5は結合されています。 ・Sheet3のA2に田中と手入力すると、Sheet3のC2~G3に、Sheet2のC2~G3を表示。 ・Sheet3のA4に佐藤と手入力すると、Sheet3のC4~G5に、Sheet2のC7~G8を表示。 ・Sheet3のA2に佐藤と手入力した場合は、Sheet3のC2~G3に、Sheet2のC7~G8を表示。 というようにしたいのです。 Excelをあまり触った事のない社員も入力をするため、参照式にすると退職時に列や行を削除され、エラーが起こってしまうので、名前に紐付けたいのです。 なにかいい方法はありませんでしょうか。

  • Excelで数十人の表作成

    今、Win-meのExcldで各自20人ぐらいの個人表を作成するようホルダーを元に表を作ろうと思うのですが理解できません、その表はsheet1,2,3,4,となり、1、2表を元に、3、4の表(1、2と同じ表)に、1、2、で評価した◯△×がABC●●●  の人数の評価が、3、4の表をクリックすると自動的に◯△×が,A,B,C, ●●●の人数分がそれぞれの個人表に入力されるホルダーがあります。この表を作成しようとしています、まずは表の作成,sheet1、2、(3~4枠を作りクリックするとsheet,3,4へ移動する)それとsheet,1,2,入力したものが、sheet,3,4,へ入力する方法、挿入、コピィー、の操作方法等、どなたか良きアドバイスを?

専門家に質問してみよう