![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
子供の算数の問題を作成するために考えているのですが、Excel で10個のセルに、0から9を一つ一つランダムに表示したいのです。ただ、一度使用した数字は、二度と使用しないようにするためにいい方法はないでしょうか。
例1 2.5.8.6.3.9.7.4.1.0
例2 1.4.7.2.0.5.8.3.6.9
など、乱数等を使用した方がいいと思うのですが、if関数は、最大7つまでしか、判断だきないそうです。
ランダムであり、一度使用した数字は、使用せず、0から9をそれぞれ表示する方法は、ないでしょうか。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
例えばA1~A10にRAND()をいれ、
B1にRANK(A1,A$1:A$10)-1
と言うようにB10までいれれば、
0~9までの数値をランダムに表せます。
RANDで同じ数値が出た場合は、同じ数字が2つになりますが・・・
この回答への補足
上記を参考にさせていただきできました。
つまり、別シートに多き目の数値乱数を作成し、その乱数表から本来のシートに必要なRANK関数で指定しました。ただ、0がでず、10になってしまうので、全体にif関数を使用してRANKが10になる時のみ、0に指定しました。
本当にありがとうございました。
No.9
- 回答日時:
0から9までの数字を作るだけですが、VBAでやってみました。
A1から10行分を作ります。サイコロを振ってでた目で、一つ一つのセルを埋めていく方式です。
最後のほうの、
Loop Until p = 10
の、10を他の数字に変えれば、その数字分の行数を埋めることができます。32767まで指定できます。
Sub Saikoro()
Dim i As Byte, c As Range, myRange As Range
Dim b As Byte, p As Integer
Set myRange = Range("A1", "J1")
Do
myRange.Value = 10
i = 1
Do
b = Int((9 - 0 + 1) * Rnd + 0)
For Each c In myRange
If c.Value = b Then
Exit For
End If
If c.Column = i Then
c.Value = b
i = i + 1
Exit For
End If
Next c
Loop Until i = 11
Set myRange = myRange.Offset(1, 0)
p = p + 1
Loop Until p = 10
End Sub
No.7
- 回答日時:
#3です。
いろいろ考えてみましたが、なかなかしっくりくるのが思い浮かびませんでした・・・。
とりあえずrand()*rand()ぐらいで桁数を増やせば、
同じ数字がでることは確率的にはほとんどなくなりますが・・・。
1シートで利用するセルだけで0~9を振り分けるのはちょっと難しそうです。(VBAを使えばできそうですが・・・15パズルを作るのと同じ要領ですので。)
やはり別シートで乱数を発生させてrank()-1で計算させるのが楽そうです。
あ、rank()のあとの-1が重要ですよ。
これがないと1~10のランクになってしまうので、
-1で0~9の数値に変換しています。
ご希望に添えず、すいません。
No.6
- 回答日時:
#5さんのやり方はvbaで可能でしょうね。
ifで10の時って言うのもいいですけど、
-1でもいいですね
No.1
- 回答日時:
=INT(RAND()*10)
では
>二度と使用しないようにする
ことが出来ませんので、分析ツールを使います。
参考URLへ。
参考URL:http://deisuitei.pinky.ne.jp/excel/excel10a.htm
この回答への補足
早速のご返事誠にありがとうございます。
上記サイトを見て、自分で試してきました。
上記サイト通りに実施したのですが、「乱数発生離散確率の列の合計は、1になります。」とヘルプがでてしまいます。
上記、方法で、0から9の乱数がかならず、二回使用しないように、同時に表示できるのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/07/08 13:46
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/10/25 09:26
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) ランダムで四択の問題を作る場合にvbaで何を学べばいいでしょうか。 1 2022/04/14 16:45
- 数学 特定の座標点を通る回帰を行う方法について。 2 2022/10/10 10:27
- Excel(エクセル) 【エクセル】COUNTIFの検索条件が可変する数字の場合の数式 1 2022/09/27 15:34
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) AVERAGE関数とINDIRECT関数を使ってのオートフィル 3 2023/01/12 12:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルの数を求めたい
-
ある表にフィルターをかけて出...
-
Lookup関数
-
Excelを無料で使うには? パソ...
-
IFとIFS関数
-
エクセルの数式バーのフォント...
-
EXCELの散布図で日付が1900年に...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelピボットテーブルの1行目
-
エクセル日付 文字列の関数がエ...
-
西暦や和暦の表示をyyyymmdd表...
-
エクセルで「ページレイアウト...
-
【ExcelVBA】名前を付けて保存→...
-
Excelに詳しい方! B列が「日...
-
Excelで50個のセルに同じ文字を...
-
Excelについて
-
Excel関数について教えてくださ...
-
Excelで表を作ったところに文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報