A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
重複しないランダムの数字を連続して発生させるのは不可能です。
そもそも、それってランダムじゃないので、当然、重複する数字も発生してしまいます。そこで、すでに入力されている1~50までの奇数、または偶数の数字をランダムに並べ替えたらいかがでしょうか?
下記のマクロは、A1:E5に入力されている数値をランダムに並べ替えます。
Sub sample()
Dim myRng As Range
Dim i As Long
Dim r As Long
Dim s As Long
Randomize
Set myRng = Range("A1:E5")
For i = 1 To 25
r = Int((25 * Rnd) + 1)
s = myRng(1).Value
myRng(1).Value = myRng(r).Value
myRng(r).Value = s
Next i
End Sub
No.3
- 回答日時:
1~25の範囲で乱数を発生させればよいだけでしょ?
質問文からはすでに「重複しないランダムな数字」は得られていると読み取れます。
質問は偶数と奇数に分ける方法を訪ねていると読み取れます。
…間違いないでしょうか
No.2
- 回答日時:
もう少し詳しく条件を教えてください。
ビンゴということですので、5*5で中央外した24個の重複しない奇数のみのもの及び偶数のみのものを作りたいわけですね?
その24個の数字はどういったものですか?
例えば1以上50以下
例えば1以上100以下
例えば左側の5つは1~15、左から二列目の5つは16~30、中央の列は31~45、右から2列目は46~60、右端は61~75の範囲にする。
条件を何も提示してもらえないと、極端な話123456789という9桁の数字でもいいのか?ということになります。
恐らく2桁か多くて3桁を想定していると思いますが…
ビンゴカードも5*5が一般的というだけで、今回それが該当しているのかどうかは恐らくそうだろうとこちらが勝手に解釈する他ありません。
とりあえずエクセルにランダムな数値を取得する関数RANDというものがあります。
指定した範囲内でランダムな整数を取得する関数RANDBETWEENというものもあります。
好きな方を利用しましょう
奇数とは2k+1で、偶数とは2kで、表すことができます。
(kは整数)
なので奇数のみ、偶数のみの乱数とすることは簡単ですが、
重複させないというのが難しいのだと思われます。
例えば、各枠(24個?)に入る数字を決めてしまいます。
1つ目の枠には1~4(奇数なら1か3、偶数なら2か4と言う意味です)
2つ目の枠には5~8
…
24つ目の枠には93~96
と指定してしまうことで、重複する可能性を0にできます。
この場合だと1つの枠に2つの選択肢しかないので、他の人と同じカードになってしまいそうですが、2^24=16777216通りの組み合わせがあります。
とはいえ、4つでビンゴとなる列だけに注目した場合、2^4=16通りの組み合わせなので、やはり他の人とビンゴのタイミングが重なり易いかもしれません。
1つ目の枠を1~6で考えれば、3つずつの選択肢なので3^4=81通りにはなりますね。
24つ目の枠は139~144となります。
これでも問題ないようには思いますね。
枠の位置と数字の範囲を固定したくないのであれば、
とりあえず1~49の奇数での例を示します。
①A1~A25に
=ROW()*2-1
を入れます。これは1~49の奇数を小さい順に表示させたものです。
②B1に
=IF(27-COLUMN()>ROW(),IF(A1<A$27,A1,A2),"")
を入れます。これは「(27-そのセルの列番号)>そのセルの行番号」の時に「その左のセルの数字が、その左の列の27行目のセルに表示されたものよりも小さい場合は左のセルの数字、違う場合は左下のセルの数字」を表示し、違う場合は空白を表示します。
つまり、左の列でランダムに選ばれた数字を除いて、上詰めで小さい順に並べて表示させます。
③B1をB1~X25の範囲にコピーします。
④A27~X27に
=INDIRECT(LEFT(ADDRESS(ROW(),COLUMN(),4),1)&RANDBETWEEN(1,26-COLUMN()))
を入れます。これは同じ列の1~(26-その列の番号)行目の中でランダムに1つの数字を表示します。
つまり、A列であればA1~A25の中から、B列であればB1~B24の中から、…X列であればX1~X2の中からランダムに選びます。
これにより、A27~X27に49以下の奇数をランダムに重複なく並べています。(25個の中から24個並べているので、1個だけ表示されてないものがあります)
あとはビンゴの形に合わせて5*5の枡を作り、「=」でA27~X27をその枠の中で好きなように配置してください。
既にランダムになっているので、左上から縦に順番に並べるのでも、渦巻状に並べるのでも、思いつきでランダムに並べるのでもいいですが、
この時点でセル選択をミスして重複させてしまうと何の意味もなくなります。確実に重複するものができてしまいます。注意してください。
こんなもんでどうでしょうか
No.1
- 回答日時:
(´・ω・`)?
重複しないランダムな数字を2倍すれば偶数、その2倍した数から1引けば奇数になるんだけど…。
偶数用と奇数用でそれぞれ作ればいいだけの事ではないだろうか。
もうひと手間かけるだけなのに何が分からないのか自分には理解ができない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 5個の数字0、1、2、3、4を使って4桁の数字を作る時、①各桁の数字が異なるとき、奇数は何個作れるか 2 2022/07/03 18:32
- Excel(エクセル) エクセルで 同じシートにある2ページに、おなじページをつけたい 3 2022/07/11 16:15
- JavaScript 助けてください‼︎ javascriptで質問があります。 配列を定義して、 29342、45342 3 2022/06/26 22:06
- 高校 数学1 6 2022/07/02 10:54
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- ノートパソコン ページ番号の入れ方について 3 2023/02/16 17:11
- その他(教育・科学・学問) 奇数と偶数が覚えられません。高校一年生です。 違いは分かるんです。どっちかが2の倍数でどっちかが3の 8 2023/01/22 22:03
- 政治 結婚は掛け算ですよね? 5 2022/12/02 09:40
- 数学 積分の偶関数奇関数は、xの累乗がそれぞれ偶数、奇数のみを解くのですか? 4 2023/08/02 19:14
- 数学 数学Aについて分からない問題があります。 答えは載っているので分かりますが、 解き方がわかりません。 5 2023/02/03 18:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
すいません。言い忘れました。ビンゴカードに使う番号は1から50までの番号です。