- ベストアンサー
団体旅行の号車振り分けについて
- 団体旅行の号車振り分けについて困っています。参加者約1000名を20台ほどのバスに詰め込みたいのですが、参加者が複数の団体に所属しているため、団体ごとに同乗希望が相次ぎ、振り分けが複雑化しています。バスの定員や男女比も考慮しなければならず、手作業では時間がかかります。エクセルのマクロを使ってこの作業を自動化できる方法を教えてください。
- 団体旅行の号車振り分けについての問題について相談です。約1000名の参加者を20台ほどのバスに詰め込む必要がありますが、参加者が複数の団体に所属しているため、団体ごとに同乗希望が出されています。また、参加者の男女比も考慮しなければなりません。手作業では時間がかかるため、エクセルのマクロを使って振り分けを自動化したいと思っています。
- 団体旅行の号車振り分けについてお助けください。参加者約1000名を20台ほどのバスに詰め込む必要がありますが、参加者が複数の団体に所属しており、同乗希望が出されています。また、男女比も考慮する必要があります。手作業だと時間がかかるため、エクセルのマクロを使って振り分けを効率化したいと思っています。どなたかプログラムを書ける方、ご協力いただけませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 > 要求レベルが高かったですかね・・・ 文章だけでしかやり取り出来ない場所では特にそうです。 データをどんな状態保持しているのかで処理が大きく異なりますから。 > 同乗希望・男女関係なく、ただ号車を振り分けてくれるだけのプログラム これはリストの上から50名ずつ同一番号を打っていくだけに思いますけど、そう言う事ですか? 先の表と同じだとしたら、こんな感じ? Sub Test() Dim i As Long, Cnt As Integer, Car As Integer Cnt = 1: Car = 1 With ActiveSheet For i = 2 To .Range("A65536").End(xlUp).Row .Range("D" & i).Value = Format(Car, "0#号車") Cnt = Cnt + 1 If Cnt > 50 Then Car = Car + 1: Cnt = 1 End If Next i End With End Sub
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
要求レベル全てにVBAで対応可能か判断出来ませんし、仮にVBAで実現出来たとしても相当複雑な処理が必要だと感じます。例外的な処理もだいぶありそうで、人的作業は必須な気もします。実際のデータ構成が不明なこういった場のやりとりで出来るような事でも無いでしょう。 例えば↓こんなもんでも作業軽減にはなるでしょうか? A1:D7に下記のリストがあるとする。 氏名 性別 団体名 号車 山田 男 ×商事 1号車 佐藤 女 ×商事 1号車 佐伯 女 ○商店 2号車 鈴木 男 ○商店 2号車 田中 男 △産業 3号車 井上 男 △産業 3号車 F1:H4を下記のようにして 号車 男 女 1号車 G2 2号車 3号車 G2 に =SUMPRODUCT(($B$2:$B$7=G$1)*($D$2:$D$7=$F2)) と入れて、残りのセルにコピーすると下記のような結果が出ます。 号車 男 女 1号車 1 1 2号車 1 1 3号車 2 0 この表を睨みながら、リストの号車欄を適宜修正する。
補足
要求レベルが高かったですかね・・・ 同乗希望・男女関係なく、ただ号車を振り分けてくれるだけのプログラムだとどんな風に作ればよいでしょうか? 最低それさえ自動化できたら、あとは自力でやれそうな気がします。 男女は名簿を分けてそれぞれで分けて作業すればできそうですし。 今ある名簿はpapayukaさんの例と同じ作りで、最終的に出力する表には、氏名と団体名の枠だけです。