![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
ある表にフィルターをかけて出...
-
Lookup関数
-
セルの数を求めたい
-
Excelを無料で使うには? パソ...
-
IFとIFS関数
-
エクセルの数式バーのフォント...
-
EXCELの散布図で日付が1900年に...
-
エクセル日付 文字列の関数がエ...
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
エクセルで「ページレイアウト...
-
【ExcelVBA】名前を付けて保存→...
-
Excelピボットテーブルの1行目
-
エクセルの問題です。絶対値の...
-
Excelの表示についての質問
-
Excel関数について教えてくださ...
-
エクセルのツールバーから数値...
-
Excelで表を作ったところに文字...
-
DATE関数で現在の年齢を出した...
-
Excelデータをコピペして、ペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報
すいません。言い忘れました。ビンゴカードに使う番号は1から50までの番号です。