
子供の算数の問題を作成するために考えているのですが、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ランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセル
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
【マクロ】A列にある、日付(本...
-
【マクロ】3行に上から下に並...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】WEBシステムから保存...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
Excelについての質問です 並べ...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
-
派遣会社とかハローワークとか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報