質問: 誰がいつどこに行くかが知りたいです。マクロです。 4月~3月ごとにシートが分かれており、いつだれがどこに行くかが書かれています。(名前はINDEX、MATCH) 同じファイルにシート名「名簿」があり、ボタンを押すと、名前の右列以降に、それぞれの月シートからとんできて、いつどこに行くか反映されるようにしたいです。 ※人数は300人います。 ※違う日に色んな学校に何回も行く人がいます。すべて名簿シートに反映されてほしいです。 ※人数が多く、月シートの日にちが2行、3行になっている場合もあります。 (月ごとに1ページ印刷したいため) その他、ここはどーすんの?というものがありましたら何なりとお申し付けください。 よろしくお願いします。
回答: 作成の仕方を 逆にしてください。 すべての月の予定を 1枚のシートに入れます 名前の順序も 予定の月も 全て 順序不同で いれればいいです これがデーターベースです。 その中から 名前を指定すれば その人だけの予定を表すシートを作成します (月ごとに1ページ印刷したいため) このデーターベースから 月を指定すれば その月の全員のデーターを表示するシートを 作成できます 添付参照 C列には 予定日の 月度を出します。 C2に =MONTH(B3) E2に =A3&"-"&COUNTIFS(A:A,A3,C:C,"<"&C3)+COUNTIFS(A$3:A3,A3,C$3:C3,C3) これで 名前別で かつ 予定美の早い順に連番が付きます。 F2に =C3&"-"&COUNTIFS(C:C,C3,B:B,"<"&B3)+COUNTIFS(C$3:C3,C3,B$3:B3,B3) これで 月度ごとに 予定日の早い順に番号が つきます。 これで データーベースができます。 ここまでもいいのですが この数行の表を テーブルとして 書式設定しておきます。 そうすれば データーが追加されれば 自動で 罫線を引いてくれます 関数も 自動で 入れてくれます。 次に 担当者別の一覧表の作成ですが SHEET2の B2に 名前を入れます プルダウンで 選ぶようにしておけばいい A5に =IFERROR(INDEX(Sheet1!A:A,MATCH($B$2&"-"&ROW(A1),Sheet1!$E:$E,0)),"") といれ 右と下にオートフィル これで B2で 指定した名前の人のみ データーを表示します かつ 予定日順に並び替えて 表示してくれます。 このデーターは SHEET1のデーターが追加修正されれば 自動で 追加・修正されます 次に 月度別も同じです SHEET3の B2に 月度を入れます A5に =IFERROR(INDEX(Sheet1!A:A,MATCH($B$2&"-"&ROW(A1),Sheet1!$F:$F,0)),"") といれ 右と下に オートフィル これで 指定月度のデーターのみを 表示します かつ 予定日順に並び変わっています。 SHEET2の1枚で 全員の個人別のデーターが見られます。 SHEET3の1枚で 全月の月度別のデーターが見られます。 これで 貴方の望みのものは できると思います。 ただ 最初に データーをテーブルとして書式設定しれいますので 各項目の右の▼を クリックして 名前や月度を 選べば それだけでも 表示・印刷は できます。