• ベストアンサー

エクセルで100マスの乱数表を作るには

KenKen_SPの回答

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.9

VBAでやるのが簡単です。以下は重複の無い乱数発生のVBAサンプルです。 【手順】 1. [Alt]+[F11]で Visual Basic Editor(以下VBE)起動 2. [挿入]-[標準モジュール]クリック 3. 下記VBAコードをコピー&ペースト 4. VBEを閉じる 5. [ツール]-[マクロ]-[マクロ]で実行 【VBAコード】(次行から終わりまで) '10×10の重複しない乱数表 Sub Sample()   Dim NumberBuf%(1 To 10, 1 To 10)   Dim intNum%, i%, j%, ItemNum%   Dim tmpBuf   Dim Dic As Object   'Dictionaryオブジェクト生成   Set Dic = CreateObject("Scripting.Dictionary")   'Dictionaryの登録数が100になるまでループ   Do Until Dic.Count = 100     '1~100までの整数で乱数発生     intNum = Int((100 * Rnd) + 1)     'Dictionaryに登録されているか?     If Not Dic.Exists(intNum) Then       '登録されていなければ追加       Dic.Add Key:=intNum, Item:=Empty     End If   Loop   tmpBuf = Dic.Keys   '乱数を10×10の配列に代入   ItemNum = 0   For i = 1 To 10     For j = 1 To 10        NumberBuf(i, j) = tmpBuf(ItemNum)        ItemNum = ItemNum + 1     Next j   Next i   '転記先を変えるにはRange("A1")のA1の部分を変更   '10×10のセル範囲左上角のセルになります   Range("A1").Resize(10, 10).Value = NumberBuf End Sub

taiwanhaiz
質問者

お礼

KENKENSP様、このたびは愚問にもかかわらずご丁寧にご返答頂きまことにありがとうございました。おかげ様で問題は無事、完全に解決いたしました。さすがでございます。恐れ入りました。ご教授に心から深く深く感謝申し上げます。

関連するQ&A

  • エクセルで「1~15」の乱数表を作りたい。

    エクセルで、「1」から「15」までの15種類の数字を使ってランダムの数列表を作りたいのですが、どのようにすればできますか? その際、各数字はそれぞれ1個ずつ、一つのセルに入れるものとします。重複しても構いません。 例えば「7」「2」「9」「13」「2」「4」「1」「9」・・・でもOKです。 また、同じ数字が連続するケースの発生もOKです。 例えば、「3」「8」「14」「6」「6」「5」「7」・・・でもOKです。2連続だけでなく、3連続もOKです。 要は「1~15の数字のランダムな出現による乱数表」が作成できればいいのです。 表の範囲は「A7~IV200」までです。 PCの初心者ですので、詳しく丁寧に教えて頂ければ有り難いです。 例えば次のように・・・。 1.・・・・・・・・・ 2.・・・・・・・・・・・・ 3.・・・・・・・・ 4.・・・・・・・・・・・・・・ 5.・・・・・・・・・ と、いう風に、順を追ってウィザード風に書いて頂ければ・・・と思います。 PCやエクセルや関数に詳しい方、宜しくお願いいたします。

  • エクセルの使い方

    エクセルで、いくつもの重複した数字(縦にずらーとある)を消して1つずつにして、上のマスにそろえたいのですが、 例えば、 12345 12345 23456 23456 24567 を 12345 23456 24567 のような感じにしたいのですが、できますか? 教えてください。

  • 9マスの計算問題

    縦3、横3マス(セルA1~C3)に1~9までの数字が1個ずつランダムに入っています。中心(セルB2)の数字は見ることが出来ますが、それ以外のマスはブラックボックスとなっていて何の数字が入っているか分かりません。 ただし、縦1列ずつの合計、及び横一列ずつの合計は 分かっています。その場合の隠された8マスにはどの様に数字が入るか?という問題です。 Excelの関数だけで(マクロを使用しないで)可能でしょうか? 問題例  A B C D 1 ○ ○ ○ 15 2 ○ 3 ○ 12 3 ○ ○ ○ 18 4 15 14 16 回答例  A B C D 1 9 4 2 15 2 1 3 8 12 3 5 7 6 18 4 15 14 16

  • エクセルで一つのマスに、12,000,000円 と記入したい

    エクセルで一つのマスに、12,000,000 と記入し(縦は中央の位置、横は右側)、その同じマスの右上に、円 を記入していのですが、どのようにしたらよいでしょうか?

  • マスの和の問題

    まずは添付のマスをお読みください。 この9マスにはすべて数字が入っています。分かっている3つの数字がマスの中に示されています。 このマスの縦、横、斜めの3つの数字の和が全て等しくなるとき、この値を求めなさい。 このような問題に取り組んでますが、解は66で答えに書いてあるのでわかるのですが解き方がわかりません。わかる方いらっしゃいましたらおねがいいたします。

  • 4つのセルを1つの塊り(マス)と捉えて塗潰す方法2

    どなたかご存知でしたら回答をよろしくお願いします。 【質問】 下図の様に、a~n、1~10の合計140個のセルに数字が1~99迄の重複有りで 入っています。a1,a2,b1,b2の4つのセルで1つのマスとみなすと、 140個のセルは縦:5マス、横:7マスの合計35マスとなります。 この条件で、検索値欄に1つ数字を入れたら、 一致した数字が入っているマス(4つのセルの集合)を塗潰すにはどうすればよいですか? 具体的には、1つのマスに一致した数字が2個以上重複している場合は、赤く塗り潰す。 1個の場合は黄色く塗り潰す事がしたいです。 〇例題  a b c d e f g h i j k l m n 1 02 05 08 09 14 13 15 16 17 28 22 32 33 37 2 03 03 05 14 13 28 99 31 23 32 31 36 32 37 3 05 01 07 06 15 07 20 08 26 12 27 19 32 37 4 04 03 08 10 10 14 12 17 24 18 30 22 37 24 5 08 01 13 02 16 04 25 09 28 15 34 24 36 34 6 01 06 05 12 18 14 22 19 23 30 26 35 28 36 7 02 03 04 11 06 16 20 21 25 26 29 27 31 29 8 07 07 08 10 09 14 17 15 18 21 19 26 20 34 9 01 02 10 04 11 05 18 13 27 20 28 33 30 34 10 12 11 16 14 19 24 24 25 27 26 33 32 35 35 検索値:07 【結果】 検索値に07を入れたら、下記の3マス(12セル)が塗潰される。 c3,d3,c4,d4 ・・・ 1個一致なので、黄色で塗潰される。 e3,f3,e4,f4 ・・・ 1個一致なので、黄色で塗潰される。 a7,b7,a8,b8  ・・・2個一致なので、赤色で塗潰される。 〇注意事項  ・使用するエクセルは2010です。  ・1マス=4セルです。※a1,a2,b1,b2で1マスです。  ・セルに入っている数字はランダムで、同じ数字の重複は35マス(140セル)全体で   4個迄です(1つのマスに4個入る事も有るし、4つのマスに1個ずつ入る事も   あります。)  ・検索値欄に入力できる数字は1~99迄の1つです。  ・セルの数字は表示上、2桁で表しています。(例:1ではなく01) 以上、よろしくお願いします。

  • 4つのセルを1つの塊り(マス)ととらえて塗潰す方法

    どなたかご存知でしたら回答をよろしくお願いします。 【質問】 下図の様に、a~n、1~10の合計140個のセルに数字が1~99迄の重複有りで 入っています。a1,a2,b1,b2の4つのセルで1つのマスとみなすと、 140個のセルは縦:5マス、横:7マスの合計35マスとなります。 この条件で、検索値欄に1つ数字を入れたら、 一致した数字が入っているマス(4つのセルの集合)を塗潰すにはどうすればよいですか? 〇例題  a b c d e f g h i j k l m n 1 02 05 08 09 14 13 15 16 17 28 22 32 33 37 2 03 03 05 14 13 28 99 31 23 32 31 36 32 37 3 05 01 07 06 15 07 20 08 26 12 27 19 32 37 4 04 03 08 10 10 14 12 17 24 18 30 22 37 24 5 08 01 13 02 16 04 25 09 28 15 34 24 36 34 6 01 06 05 12 18 14 22 19 23 30 26 35 28 36 7 02 03 04 11 06 16 20 21 25 26 29 27 31 29 8 07 07 08 10 09 14 17 15 18 21 19 26 20 34 9 01 02 10 04 11 05 18 13 27 20 28 33 30 34 10 12 11 16 14 19 24 24 25 27 26 33 32 35 35 検索値: 07 【結果】 検索値に07を入れたら、下記の3マス(12セル)が塗潰される。 c3,d3,c4,d4 e3,f3,e4,f4 a7,b7,a8,b8 〇注意事項  ・使用するエクセルは2010です。  ・1マス=4セルです。※a1,a2,b1,b2で1マスです。  ・セルに入っている数字はランダムで、同じ数字の重複は35マス(140セル)全体で   4個迄です(1つのマスに4個入る事も有るし、4つのマスに1個ずつ入る事も   あります。)  ・検索値欄に入力できる数字は1~99迄の1つです。  ・セルの数字は表示上、2桁で表しています。(例:1ではなく01) 以上、よろしくお願いします。

  • エクセルで作った表のマスを広げるには

    エクセルで作った表の1マスを2行分の大きさに広げるにはどうすればよいでしょうか? マスの中でエンターキーを押すと、カーソルが下のマスに移動してしまいます。

  • 重複しない乱数表を作る関数について

    重複しない乱数表を作成したいと思います。 「=RANDBETWEEN(0,50)」では、「0~50」の範囲内で、数字が重複する乱数表ができますが、数字が重複しない乱数表を作成するには、どういう関数を使えばよいですか? 縦方向(つまり「列」)では重複しても構いません。 横方向(つまり「行」)で重複しないようにしたいのです。 つまり、「横方向に0から50までの数字51個が一通り、必ず1個ずつ出現してから、次に同じく、0から50までの51個の数字による新たな数列を、各数字が重複しないように作りたい」のです。 51個の数字による一まとまりの数列内で数字が重複していなければ、これと同じ数値配列が全く別の場所に出現しても構いません。 表の範囲は任意ですが、仮に「B7~N106」とします。 過去の回答を検索しましたが、適切なものがなかったので質問しました。 宜しくお願い致します。

  • EXCELの乱数表

    以下の作業なんですがやり方がわからないんで教えてください!お願いいたします!! 乱数表を作って、乱数表を利用し2個の数字を取り出す。(AとB) ↓ その取り出した数字を取り出した順に並べ、一つの数値とする。(AB) ↓ それらをデータXに変換する。 乱数AB |00|01~06|07~30|31~68|69~92|93~98|99 データX |-3|  -2 |  -1 |   0  |  1  |  2  |  3 ↓ 上記を繰り返し、大きさN=4の標本を100個作製する。 よろしければ以上のやり方を教えていただけると幸いです。 当方EXCEL初心者で、さっぱり困ってます!(><) よろしく願いいたします!