• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【エクセル 関数 マクロ】連番のグループ割当)

エクセル関数マクロで連番のグループ割当をランダムに設定する方法

このQ&Aのポイント
  • エクセルの関数やマクロを使用して、連番のグループ割当をランダムに設定する方法について教えてください。
  • 具体的には、B列に氏名を入力し、A列に1〜∞までの連番を1〜10個ずつランダムにグループ分けして入力したいという要件です。
  • グループ数やグループごとの人数もランダムに設定したいため、他のセルで適切な計算を行い、A列に反映させる方法も知りたいです。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

E1セルにグループ番号と記入する F1セルにグループ人数と記入する G1セルに出現順と記入する E2以下に1,2,3…と、平均してだいたい200行ぐらいまで数字を列記する F2に =RANDBETWEEN(1,10) と記入し、下向けにコピー貼り付ける G2に =IF(SUM(F1:G1),SUM(F1:G1),1) と記入、リスト下端までコピー。この下端の値が必要な人数に達していることを確認。 で。 A2に =MATCH(ROW(A1),G:G,1)-1 と記入、下向けにコピー貼り付ける。

fubi0422jp
質問者

補足

ありがとうございます! 早速試しましたが、完璧にできました! すごいです! でも、どれだけ数式とにらめっこしても、 仕組みが分かりません。。。 どういう理屈で組んでいるのでしょうか・・・?

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

どのくらいの頻度でグループを変えていいのか解らなかったので適当にやってます。あまり頻繁にグループを変えたくなければ式中の0.5を1未満のもう少し大きい値にしてください。 A2に1 A3に↓を入れて下にコピー =A2+(0.5<((COUNTIF(A$2:A2,A2)>9)+RAND())) 乱数を使っていますので計算するたびにグループが変わります。 何度か計算させてこれで良いと思ったら、A列をコピーしてそのままA列に値のみ貼り付けを行って確定してください。

fubi0422jp
質問者

お礼

ありがとうございます! 試してみましたが、最初の数行だけがランダムにならず、1行にしかなりませんでした。 それ以降はおっけぃでした! 参考にさせて頂きます♪

関連するQ&A

専門家に質問してみよう