[[20250417140209]] 『抽選』(ほうじ茶らて) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『抽選』(ほうじ茶らて)

こんにちは^^
初心者質問で大変さ申し訳ございませんがご教授願いたく投稿させて頂きました。
只今エクセルにて自動で抽選する事は出来ないかと考えてまして。
ただどう作成していいかも良く分からなく、誠に買ってからだとは思うのですがアイデアあり
ましたら教えて頂きたいです。
だいたい50人程の抽選を考えてまして多くても60人程度です。

A1のセルにNo.
B1のセルに氏名
C1のセルに落選か当選の表示
E1のセルに当選の人数

E2のセルに当選例えば20と入力すると自動でCの列に20コ当選(他はセルにには落選)と表示
させたいのですがエクセルで可能でしょうか?
もしこんな関数ありますなど教えて頂けますと幸いです。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


当選とする基準はどのようにしているのですか。。
(?) 2025/04/17(木) 14:26:05

何を言っているのかわかりませんが
RANDBETWEENという関数があります
=RANDBETWEEN(1,100)
とすれば、1〜100までの適当な乱数を作ってくれます
F9キーを押すごとに再計算されます
(不思議ちゃん) 2025/04/17(木) 14:28:34

因みにどこかのセルに文字を入力したり消したりしても再計算はされます
(不思議ちゃん) 2025/04/17(木) 14:43:07

 乱数をRAND()で生成
 RANKで順位を取得
 上位20位までをIFで判定
 このような流れになるかと思います。

(TKG) 2025/04/17(木) 14:55:56


 =INT(RAND()*10^3)+ROW()*10^-3
                  ~~~~~~~~~~~~
乱数生成時に念のため重複を予防するための小細工
「3」「-3」を人数に合わせて自動調整する関数を仕込めば複雑な対応も可能
(さわ子) 2025/04/17(木) 15:18:29

 >当選とする基準はどのようにしているのですか。。
勝手に考えてみました。細かいことは考えずくじ引きなどの感覚です。
一例で
E2:E21 20名当選
E2:E31 30名当選
とした場合で
例えばA列にA2から1〜60まで連番が入っている場合

 下準備として
 E2:E21に名前の定義で_20と名前を付けます。
 E2:E31に名前の定義で_30と名前を付けます。
 (アンダーライン半角_を入れないと数字が登録できないので)
 >E2のセルに当選例えば20と入力すると自動でCの列に20コ当選(他はセルにには落選)と表示
入力するのはE1にします。
E1には_20と入力するか_30と入力します。

	A	B	C	    D	     E	     F
  1	No.	氏名	当選・落選 当選人数〔_20〕  RANDの値貼り付け
  2	 1	あ	落選    0    57   0.969054868
  3	 2	い	当選    1    25   0.397370242
  4	 3	う	落選    0    22   0.366254055
  5	 4	え	落選    0    52   0.905949044
  6	 5	お	当選    1     2   0.08472267
  7	 6	か	当選    1    46   0.766140337

 56	55	さ	落選    0    28   0.416311843
 57	56	し	落選    0    11   0.194329885
 58	57	す	当選    1    21   0.363001691
 59	58	せ	落選    0    45   0.721433733
 60	59	そ	当選    1    29   0.444287348
 61	60	た	落選    0    27   0.415259508

		  当選人数合計     20		

 ※どこか空いた列に=RAND()として2行目から61行目まで下↓へフィルコピー
それ(その範囲)をコピーしてF2に値貼り付けします。

 C2:=IF(A2="","",IF(COUNTIF(INDIRECT($E$1),A2),"当選","落選"))
 D2:=COUNTIF(C2,"当選")
 E2:=RANK(F2,$F$2:$F$61,1) 
 または=RANK(F2,$F$2:$F$61)
 ※(RANK関数の範囲$F$2:$F$61は実際の人数分に変えてください)
 C2:E2を選択して下↓へフィルコピー

 (必要であれば当選の行だけ条件付き書式で塗りつぶし)
 例ではE2:E21の番号(ランク)がA列にある人が当選となります。

 D列で当選の数をカウントして合計していると思われますが・・・
 次回から※の操作だけです。
 注意点としては名前を付けるときに範囲を間違えないことですね合計が違ってきますので。
 (どうしても21になって二度見した人w)
 ご参考まで

(檸檬) 2025/04/19(土) 00:51:56


『指定人数を自動表示』(お茶)さんと同じ人ですか?
 もしそうなら、
A1に人数分の50とか60を入力して、区別のためにセルの書式設定ーユーザー定義で"No."G/標準にしておいて
(かんたんレシピ)さんの式で
A2:=IF(ROW(A1)>$A$1,"",ROW(A1))
A2セルの右下角が十字になるようにポインターを持っていきダブルクリック
でどうでしょうか?
 そうなると
 > ※(RANK関数の範囲$F$2:$F$61は実際の人数分に変えてください)
 これも
 E2:=IFERROR(RANK(F2,$F$2:INDIRECT("$F$"&$A$1),1),"")
でいいですね
ついでに
 D2:=COUNTIF(C2,"当選")
↓
 D2:=IF(A2="","",COUNTIF(C2,"当選"))

 あと、全員当選とすることはないでしょうが、21人以上でないと20人当選とはならないようです。
名前の定義ではだめということであれば、他の方の回答をお待ち下さい。

(檸檬) 2025/04/19(土) 09:35:42


「自動で抽選する事は出来ないか」ここが重要ポイントですね。
(檸檬)さんが仰っているように「くじ引きなどの感覚」なのか
「以上が当選、以下が落選」なのかそれによって回答内容も違ってきます。
はっきりさせた方がいいのではないでしょうか。
(閲覧者) 2025/04/19(土) 10:02:24

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.