Excelで部屋の割り振りを行う方法

このQ&Aのポイント
  • Excelを使って10人の参加者が3つの部屋を選び、回ごとに割り振られる方法について説明します。
  • 詳細な要件として、各部屋の均等な割り振りを行うために、10人の参加者を部屋ごとに人数が均等になるように割り振ります。
  • また、Excelのマクロを使用せずに割り振り表を作成する方法も紹介します。
回答を見る
  • ベストアンサー

Excelで割り振りしたい。

Excelを使って以下の割り振りをしたいと思います。 (添付ファイル参照) ・No1~10の10人がそれぞれA~Fの6つの部屋のうちから3つの部屋を選びます。 ・選んだ部屋で行われる説明会に参加します。 ・各説明会は3回行われるので、10人は1回目~3回目で選んだ3つの部屋を回ることになります。 ・各部屋の各回の人数はなるべく均等になるようにします。  例えば添付ファイルでは、会場別のべ希望数がEは3なので、1回目~3回目の参加者数は1,1,1とし、Bは6なので2,2,2となるようにします。 このような条件に当てはまるように、各人の1回目~3回目に参加する部屋を割り振りたいのです。 なるべくマクロは使わずに割り振り表を作成したいのですが、Excelでできますでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • masnoske
  • ベストアンサー率35% (67/190)
回答No.5

> ・各部屋の各回の人数はなるべく均等になるようにします。 この条件も曲者ですね。 (1,1,3) よりも (1,2,2) のほうが均等(=ばらつきが少ない)と考えますが、(1,1,3) の組があるのは許されないのでしょうか。 そもそも必ず (1,2,2) になる答えがあるのかどうか。 仮に (1,1,3) が許されるなら、200件を10~15分で手作業振り分けできそうです。そんなに時間を掛けられないというのなら、手作業をマクロ化することは可能です。でも、できるだけマクロを使いたくないんですよね。 また、せっかくマクロでやるのに、最適解がどうかわからないというのも気持ち悪いです。

ryou4649
質問者

お礼

ご指摘のように各部屋の人数にバラツキを許可して、手作業を加えた半自動で解決できました。

ryou4649
質問者

補足

(1,1,3)の組が許されないわけではないです。 というか、目から鱗です。 今まで、自分で作ったものでは、どうにもうまくいかなかったのですが、(1,1,3)を許したらどうなるか、明日早速試してみたいと思います。

その他の回答 (4)

  • Mathmi
  • ベストアンサー率46% (54/115)
回答No.4

 実際にコードを組んだ訳ではないので出来るかどうか分かりませんが、数独のアルゴリズムは応用できないでしょうか?  回数(1,2,3)と部屋(A,B,C,D,E,F)の3*6の18マスで、各マスには参加人数分の子マスがある、といったデータ形式ならば、既存のアルゴリズムが利用できそうな気がしますが。

ryou4649
質問者

お礼

ありがとうございます。次の3連休あたりに数独のアルゴリズム研究してみたいと思います。

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.3

各参加者の部屋を回る順列は、以下の6通りあります。 (1,2,3)(1,3,2)(2,1,3)(2,3,1)(3,1,2)(3,2,1) それが200人ということは、6の200乗の組み合せから答えを見つけなければなりません。マクロで総当りするのは、現実的ではないので他の方法を検討する必要がありますね。

ryou4649
質問者

補足

おそらく答えのパターンも数多くあるんだと思います。 そのウチの1つが分かればいいのですが… 最初、もっと簡単だと思ったのですが、やり始めてみるとものすごく難しく困っています。

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.2

簡単な関数と手作業をして良いなら方法はありますが、関数やゴールシークを使って一発で求めたいというのなら難しい。 この例であれば、以下が答えの1つになるかと(他にあるかも)。 1(B,C,D) 2(F,A,C) 3(D,B,A) 4(F,C,B) 5(A,D,E) 6(B,E,F) 7(E,A,D) 8(C,D,B) 9(A,F,C) 10(C,B,F) 部屋の人数割は、 A(2,2,1) B(2,2,2) C(2,2,2) D(1,2,2) E(1,1,1) F(2,1,2)

  • molly1978
  • ベストアンサー率33% (393/1186)
回答No.1

希望者数から各回別の各部屋定員を決め、一人ずつ希望から割り振っていくことになると思います。簡単に関数で割り振ることはできません。マクロならできなくありませんが、かなり面倒です。手動で行うのが現実的です。

ryou4649
質問者

補足

実は、対象者が10名でなく200名前後となるため、手動は困難なのです。

関連するQ&A

  • WORDをEXCELのようにシートで並べたい。

    MICROSOFT WORDを使っています。 EXCELのようにシート化してタグをつけてひとつの ファイルにまとめておきたいのですが こんなことできますか? 契約書の管理に使うのですが 各人ごとにファイルを作っているとファイル数が 多くなりすぎるのでこんなことを考えたんですが。 宜しくお願いいたします。

  • エクセル 参加者リスト

    自治会の組毎の有料参加者のみを、算出する方法 現在OS Windows 11 Office 2019 Excel を使用しています 行事参加者リストに於いて、子供以外の参加費は、一人500円とし、 組毎の参加者数は、 SUMIF関数で算出していますが、大人のみの会費 を組毎に出す方法を、教えて下さい。 又、エクセルファイルを、添付する方法が判りません、これも併せて 教えて下さい、宜しくお願いします。

  • メールをエクセルに整理するソフトウェア

    現在、ある団体のホームページとシステムを構築しています。 先方としては、(1)講演会の案内のメールをホームページで登録した会員に一気に送りたい、(2)そのメールを返信してもらい、参加者のデータを講演会の会場にて、実際に参加した人とつき合わせたい、というものです。 (1)に関しては、PHPをベースに会員にメールを送るシステムを作ったのですが、(2)に関しては、どうもうまいアイディアが思い付きません。 メールを送ったあと、そのメールに対して「参加する」というフォーマットを記したメールを送り返してもらう、というふうにした場合、毎回の講演会の参加者が200名近いので、どうしても膨大な数のコピーを行わないとなりません。 ここの返信されたメールに対して、それを紙に出力できる状態にするというのが肝なのですが。 こちらとしては、送られてきたメールのデータを自動的にエクセルなどのファイルに振り分けるソフトなどがあったら、ベストなのですが。 そういったソフトウェア、またはよい方法などありませんでしょうか? 宜しくお願いします。

  • エクセルファイルを使ってする作業の質問

    資料の作成法について質問ですが、複数人があるフォーマットが決まったファイルに書き込んでいます。 ・全内容一斉表示のページをつくり、そのページに各人が書き込む ・各人が作ったデータのみを閲覧するために、各人個々に自分のページをつくる。 記入時は全体一斉表示のページのみか、各人のページ一回で、自動的にもう片方のページへも記入済みになっている そんな都合のよいシステムをさがしています。エクセルでこのようなことは可能でしょうか?お教えください。

  • 大学で開催されている説明会と企業独自の説明会

    私は今大学3回生で、企業説明会に参加している立場なんですが、私の通っている大学(四年制)では、毎日20社ほどの企業が来て、各1時間ずつ3つの会場において企業説明会が行われています。 私は、企業自身が開催している独自の説明会では、それぞれ会場も異なり、1日1~2社ほどしか回る事が出来ないので、1日にたくさんの説明会に参加する事ができる大学開催の説明会を主に利用しようと考えているのですが、やはり参加できる企業は減っても企業 開催の独自の説明会の方にできるだけ参加した方がいいのでしょうか? 大学の就職課に質問した際の答えは、開催している側という立場からか「大学での説明会を主にしたらいい」とのことでしたが、実際はどうなのでしょうか? ちなみにこれは、説明会の中で選考などが全くない場合のことです。

  • EXCELのグラフでこういうのを作りたいのですが・・・

    説明会の参加人数、うちアンケート回収数、回収率のグラフを作りたいのですが、 参加人数が縦棒であって、その中に、アンケート回収数が入っている形で、オマケで、折れ線で回収率推移がわかるようなものにしたいのですが、積み上げグラフでは参加人数・回収数別々にカウントされてしまいますよね。。。 参加人数と回収数を並べずにこういう表を作る方法はありませんか?

  • エクセル関数のみの立て替え金精算ファイル探してます

    近所でバーベキューに出かけた時のことです。Aさんに車を出してもらったり、Bさんに買い出しの立て替えをしてもらってりして、精算にてこずったことがあります。 (Aさんには車出しの謝礼、Bさんには立て替え分等々・・・) こんな時エクセルでテンプレートを作っておき、数字をいれれば簡単に精算できればなぁと考えました。 どなたかのつくったもので出回っているエクセルファイルはないでしょうか? できれば関数のみで、マクロは使ってないものがいいです。 形式としては、一旦全員から“参加費”としていくらか均等に預かっておき、あとで各々精算していく、というタイプのものがいいです。 また、関数とかじゃなくても、表をつくってあるものだけでもいいです。 私は計算があまり得意ではなく、どのように考えてつくったらいいかわかりません。。。。 よろしくお願いします。 ※画像添付で「こういった表を作っておけば?」という提案でも大歓迎です!

  • エクセルのシートの数を数えたいのですが…

    現在、1000ファイル以上のエクセルファイルがあります。 各エクセルに何シートずつあるのか数を数えたいのですが、1回1回開いて数えるしかないでしょうか? なにか良い方法があったら教えてください。

  • エクセル2000(XLSX)が使えない古いパソコンからエクセル2000

    エクセル2000(XLSX)が使えない古いパソコンからエクセル2000で作ったデータをメールに添付して相手先に送れますか?また送った先でちゃんと添付ファイルは開くでしょうか?相手は新しいパソコン(エクセル2000がはいっています)を使っています。 付け足し 職場のパソコンではエクセル2000が使えなかったので自宅でデータを作成しました。そのデータを相手先に送るのに職場からメールを送りたいのですが職場のは古いパソコンでエクセル2000は使えませんがメールに添付して送ることはできるでしょうか? 説明が分かりにくいかもしれませんがよろしくお願いします。

  • うるさい老人を有無を言わせず仕分けるには?

    老人同好会でグランドゴルフを楽しんでおります。集まった参加者の組み分けに苦労しています。MSエクセル関数(例えばRANDBETWEEN関数)などを使って簡便迅速に参加者を組み分けする方法を教えてください。例として14人の参加者各人が順次クリックして5、5,4人の3組に仕分けられるようにしたいのですがよろしくお願いします。

専門家に質問してみよう