![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
席決め表を作っていて悩んでいます
例:60人で6テーブル(1卓10人)に割振ります
(人数は30~200 テーブルは5~20 1卓あたり5~10人で毎回変化します)
全員がランダムではなく この人はA卓、この人はB卓 など各テーブルに0~10人の指定が発生します
1つの卓が 10人 ー 指定の人数 = ランダムに指定する人数 となるのですが
来賓が多い場合は 10人ー指定10人=ランダム0人 という事もあります
そこで
RANDBETWEEN で 1~6の乱数を発生させ、各テーブルの規定人数に達した場合は発生しない またはスキップする様にすることは可能でしょうか?
また、RANDBETWEENではなくても他の手法で同様の結果を得る方法があればご教示願います
No.2ベストアンサー
- 回答日時:
こんにちは。
席ぎめの順位を決めるものだと理解しましたが、ご質問については、フルに理解をしているわけではありません。
>RANDBETWEEN で 1~6の乱数を発生させ、各テーブルの規定人数に達した場合は発生しない またはスキップする様にすることは可能でしょうか?
これは、人間が判断することではないかと思いましたので、それは触れないでおきました。
また、通して200人なら200をランダムに並べ替えるとは考えませんでした。
このマクロは、
6を入れれば、6までの乱数
4を入れれば、4までの乱数
8を入れれば、8までの乱数が、重複なくでます。
以下のように出力します。
3 2 6 4 1 5
6 1 4 5 2 3
1 2 4 3
5 3 1 2 6 7 4 8
'//標準モジュール
Sub RandomGenerating()
Dim tNum As Long
Dim pNum As Long
Dim arNum() As Variant
Dim arNum1 As Variant
Dim i As Long
Cells(Rows.Count, ActiveCell.Column).End(xlUp).Offset(1).Select '行の最後尾の下
pNum = Application.InputBox("席割の人数を入れてください", "席割の人数")
If Not IsNumeric(pNum) Then Exit Sub
If pNum = 0 Then Exit Sub
Randomize
ReDim arNum(1 To pNum, 1)
For i = 1 To pNum
arNum(i, 0) = i
arNum(i, 1) = Rnd() 'ランダムの発生
Next i
arNum1 = RankingPos(arNum)
For i = 1 To pNum
With ActiveCell
.Offset(, i - 1).Value = arNum1(i, 0)
End With
Next i
End Sub
Function RankingPos(iAr())
Dim i As Long
Dim j As Long
Dim Temp1 As Long
Dim Temp2 As Double
For i = UBound(iAr) To LBound(iAr) Step -1
For j = LBound(iAr) + 1 To i
If iAr(j - 1, 1) > iAr(j, 1) Then
Temp1 = iAr(j - 1, 0)
Temp2 = iAr(j - 1, 1)
iAr(j - 1, 0) = iAr(j, 0)
iAr(j - 1, 1) = iAr(j, 1)
iAr(j, 0) = Temp1
iAr(j, 1) = Temp2
End If
Next j
Next i
RankingPos = iAr()
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 風速を1秒刻みで推定する方法 6 2023/03/03 11:58
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) エクセルで、指定した整数の範囲を乱数4つ発生させる場合 4 2022/04/01 11:44
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- 数学 既存の数列のランダム性について(初歩的質問) 2 2022/06/07 20:04
- MySQL [1000地域 × 10カテゴリー = 1万件のテーブル]!グループ化? 1 2023/06/14 23:56
- Excel(エクセル) 当番表の作成 2 2022/06/15 07:40
- 法学 法学の問題についてさっぱり分からないので○✕で教えてください 2 2022/10/23 01:05
- 飲食店・レストラン レストラン1人で来たのにソファー席指定されたんですけど、、4人座れるテーブルに1人です。 1人席でも 6 2022/04/15 14:32
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
すいてる時間帯で、ひとりで外...
-
A of Bについて
-
I字型のハイテーブルの名称とは?
-
半円のダイニングテーブル
-
大理石テーブルの加工について
-
お勧めの子供用食事イス教えて...
-
ローテーブルの高さについて
-
カウンター下収納の高さ
-
コタツテーブルでのPCや食事は...
-
椅子に座ったままで足を入れれ...
-
ベビーチェアの購入について・・・
-
いらっしゃらなかったので机に...
-
在宅ワークなど長時間座ってる...
-
イスを引く?
-
机の引出しが開かないのです(T...
-
坂にベンチを設置できる何かい...
-
どうしたら机にものを置かない...
-
勉強に集中できる部屋
-
ソファならハイバック?
-
机の天板のたわみ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
衝立を自作してみたい。
-
犬がテーブルからジャンプして...
-
ダイニングテーブル?ちゃぶ台...
-
テーブルの足を短くしたいので...
-
庭にテーブルを置きたいのです...
-
すいてる時間帯で、ひとりで外...
-
鉄パイプの机が揺れるのですが...
-
A of Bについて
-
テーブル脚のカット 失敗
-
会社の応接室のテーブルはなぜ...
-
机(安物)を買ったのですが、グ...
-
ストッケのトリップトラップを...
-
円のケガキ
-
大きさの変わるテーブル
-
普段こたつのテーブルをつかっ...
-
1歳4カ月の子が、テーブルの...
-
ダイニングテーブルについて。...
-
【理想の家具を探しています】...
-
犬をテーブルに上がらせなくす...
-
円形ダイニングテーブルの使い勝手
おすすめ情報