誰がいつどこに行くかが知りたいです。マクロです。 4月~3月ごとにシートが分かれており、いつだれがどこに行くかが書かれています。(名前はINDEX、MATCH)

画像

Visual Basic | Excel137閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

すごすぎます… ありがとうございました! 名簿シートもそのようになっております。 2つお願いします。 ①写真のように、人数が多くて行をまたいでる日があります。その日にちが反映されなかったです。日にちが書かれたセルを結合しているからですかね? ②マクロを実行すると、写真のように、過去に反映されたものが再び反映されてしまいます。(同じ日にちと学校がどんどん右に増えていく) これについては自分ではさっぱりわかりません… ご教授お願いします。

画像

ThanksImg質問者からのお礼コメント

今回も本当にありがとうございました!

お礼日時:7/30 17:05

その他の回答(1件)

0

作成の仕方を 逆にしてください。 すべての月の予定を 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枚で 全月の月度別のデーターが見られます。 これで 貴方の望みのものは できると思います。 ただ 最初に データーをテーブルとして書式設定しれいますので 各項目の右の▼を クリックして 名前や月度を 選べば それだけでも 表示・印刷は できます。

画像