• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数セルに入っている数字を、別セルにランダムに並び替えしたい。)

複数セルに入っている数字を別セルにランダムに並び替えたい

このQ&Aのポイント
  • 複数セルに入っている数字を別のセルにランダムに並び替えたい場合、以下の方法を試してみましょう。
  • 例えば、セルAからセルXに入力された数字を、セルZにランダムに並び替えたい場合、セルAからXまでの数字を全て使用して、ランダムな順序でセルZに表示することができます。
  • ただし、セルAからXまでの数字の数が増減した場合、セルZに表示されるランダムな数字の数も増減することになりますので、注意が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.13

#6の回答者ですが、一応、返事をもう一度付けておきます。上手く行かなかったら無視しても構いませんが、以下のようにすれば出来るはずです。 >A~AF までセルを使用しています。 ---- AH1;~ =SMALL($A$1:$AF$20,ROW(A1))  #NUM! のエラーが出る所まで、オートフィルコピーします。 *20は、データの最終行(広げる必要はありません) AI1:~ =RAND() セルの右下をダブルクリック AG1: ~(ここにランダム並べ替えの順序にダブリのない数字が取れます) =INDEX(AH:AH,RANK(AI1,AI:AI)) エラーが出る所まで、オートフィルコピーします。 -- 条件は、$A$1:$AF$20の範囲に「0」がないことです。 空白ではなく、「0」があって、それを省く場合には、 AG1:~の数式は、このようになります。 =SMALL($A$1:$AF$20,ROW(A1)+COUNTIF($A$1:$AF$20,0))

nariyuki
質問者

お礼

Wendy02さん、丁寧なお答え ありがとうございました。 皆さん、それぞれ すばらしいですね。 助かりました。 またの質問の際には、どうぞ 宜しく、 お願いいたします。

nariyuki
質問者

補足

Wendy02さん、 私に合わせて、式を書き直して下さり、ありがとうございます。 >A~AF までセルを使用しています。 これに合わせてあるので、このまま今夜、もう一度やってみます。 また、報告致します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (13)

回答No.3

Z2セルの数式を載せ忘れましたm(_ _)m =IF(AB2="","",VLOOKUP(SMALL(AA:AA,ROW(A1)),AA:AB,2,0))

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

作業列を2つ使用します AA2セル =IF(AB2="","",RAND()) AB2セル =IF(COUNT($A$1:$X$8)<ROW(A1),"",SMALL($A$1:$X$8,ROW(A1))) Z2セル Z2:AB2下へオートフィル

nariyuki
質問者

補足

CoalTarさん 写真付きでの説明ありがとうございました。 いろんなやり方があるのですね。 ご指摘の件もありますので、もう一度良く見てみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

仮にX列まで使われているとしたらY列には作業列としてY1セルには次の式を入力して下方にオートフィルドラッグします。 =INDEX(A:X,ROUNDUP(ROW(A1)/3,0),MOD(ROW(A1)-1,3)+1) 次にZ列も作業列としてZ1セルには次の式を入力して下方にオートフィルドラッグします。 =LARGE(Y:Y,ROW(A1)) AA列には答えを表示させるとしてAA1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(Z1="",Z1=0),"",INDEX(Z:Z,1+INT(COUNTIF(Z:Z,">0")*RAND()))) これでAA列にはAからX列までに入力されている数値がランダムに表示されます。

nariyuki
質問者

お礼

KURUMITOさん! すばらしいです。完璧に出来ました。 少しの例で(A、B、Cセル)、やったので次のように数式を変更しましたよ。 =INDEX(A:C,ROUNDUP(ROW(A1)/3,0),MOD(ROW(A1)-1,3)+1) =LARGE(D:D,ROW(A1)) =IF(OR(E1="",E1=0),"",INDEX(E:E,1+INT(COUNTIF(E:E,">0")*RAND()))) それで、やってみたところ完璧です! ちゃんと、A~Cセルに書き込んである数字を、ランダムに、且つ同じ数だけFセルに 表示できました!!! ありがとうございました。

nariyuki
質問者

補足

KURUMITOさん 毎度、お世話になります。 質問は、例えで書いております。 実際やろうとしているセルはもっと多いので、教えて頂いた 数式の途中ある =INDEX(A:X,ROUNDUP(ROW(A1)/3,0),MOD(ROW(A1)-1,3)+1) ここでは、 AとX   A1  A1 これらは、変わる可能性がありますね。 (まぁ、AとA1は、大丈夫ですかね) =LARGE(Y:Y,ROW(A1)) ここでは、Yと、A1 =IF(OR(Z1="",Z1=0),"",INDEX(Z:Z,1+INT(COUNTIF(Z:Z,">0")*RAND()))) 最後、ここでは、Z1、Z これらは、変わる可能性がありますよね?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル関数?でランダム入力について

    エクセルにて質問です。 一つのシートで横列(アルファベット)は同じで、縦列(数字)は二列ずつのセットで… もしセル R11に何もなければ(空欄なら)→ A11からBP12までのセルを薄い灰色で塗りつぶす もしセル R11に何かあれば→ Y11に15~22までのランダムの数字 Z11に0~59までのランダムの数字 BC11に8~11までのランダムの数字 BD11に0~59までのランダムの数字 ……… ……… ……… もしセル R39に何もなければ(空欄なら)→ A39からBP40までのセルを薄い灰色で塗りつぶす R39に何かあれば→ Y39に8 Z39に0~59までのランダムの数字 BC39に12~17までのランダムの数字 BD39に0~59までのランダムの数字 というものを作成したいのです。 尚、ランダム数字の値は上記の様に変更可能なものを希望です。 上記の内容になりますと、複数セルの塗りつぶしが含まれるので関数だけでは無理でしょうか? また、マクロ使用で可能ならコードを教えてもらえたら助かります。 エクセルに詳しい方おしえてください。 よろしくお願いします。

  • エクセルで複数のセルをランダムに並べ替えるには?

    方法があるのかないのか分かりません   エクセルで、数字ではない文字の入った複数のセルをランダムに並び替える方法を知りませんか? 「昇順」、「降順」キーを使えばその通りに並べ替えできるのですが、同様に「ランダム」キーがあって、それを押すとランダムに並べ替えが出来るみたいに簡単に出来る方法はないでしょうか、乱数を発生させる関数を使えば出来るようですが、ちょっと分かりずらく難しいです、 誰か、教えてください

  • ランダム数値によるセルの塗りつぶし

    A列のセルに1~20のランダムな数値が入っています。 この数値xに従い、右セルx個に○を入力したいのですが可能でしょうか 例: A1セルに「3」と入っていれば B1から右3セル(B1,C1,D1)セルに"○"を入力する

  • 数字部分のみ別のセルに移動したいです。

    複数のセルの、数字部分のみ別のセルに移動したいのですが、 教えていただけますでしょうか? 例 セルA aaa1234 bbb5678 ccc9874 ddd5642 ↓ セルA   セルB aaa     1234 bbb     5678 ccc     9874 ddd     5642 このように、文字と数字を分けたいです。 よろしくお願いします。

  • 0から99の数字をランダムに並び替えたいのですが・・

    0から99までの数字をランダムに並び替えて、  89 42 19 35 2 94 12 .... のような数字の列を得たいのですが、どうすればよいでしょうか?一見、簡単そうなのですが、つまずいています。 最初思いついたのは次の方法です。 以下を i=0 から i=99になるまで繰り返す。 (1) tmp = (int) 100 * Math.random(); と 0~99の乱数を発生させる (2) a[0]~a[i-1]の中にxと同じ値が無ければ a[i] = x;と代入。同じものがあったら (1)に戻る。 (3) i = i+1; この方法だと、i=98の時は、ほとんどの場合「a[0]~a[i-1]の中にxと同じ値がある」ことになってしまい、iが増えるごとにスピードが落ちます。 100個くらいの数字なら良いのですが、100000000個の数字だと非効率な気がします。 みなさんどうなさっているのでしょうか?

    • ベストアンサー
    • Java
  • 複数のセル(一部を明示します。)に数字が入力してあります、その左の最初

    複数のセル(一部を明示します。)に数字が入力してあります、その左の最初の数字をDeleteしたいのですが、どの様にマクロを組むか教えてください。 例)A1  2345   A2  4567   A3  3648  A1セル 2、A2セル 4、A3セル 3 、行全体で3000以上あります。

  • エクセルのセル内での数字の並び替え

    こんにちは。 エクセルについて質問です。一つのセルの中に10桁の数字がいくつかあります。 これを同じセル内で縦に並べることは可能でしょうか? ALT + ENTERで数字を一つずつ改行するよりも何かもっと効率的な方法はあるのか、何方か教えていただけますか? (例えばマクロとかアクセスで) 数字は常に10桁なのですが、行によっては9個以上あることもあります。 例: セルA1 0011005408 8701005438 8721005627 8731005602 8741005539 8861005557 8701005441 8721005629 8861005559 ↓ これを、同じセル内で 0011005408 8701005438 8721005627 8731005602 8741005539 8861005557 8701005441 8721005629 8861005559 どうぞよろしくお願いします。

  • EXCELで、一つのセルに書かれた複数の数字を、別々のセルに表示したい

    EXCELで、一つのセルに書かれた複数の数字を、別々のセルに表示したいんですが、やり方を教えてください。よろしくお願いします。 A1に 60 0.8 42.2 21.6 1.5 1.3 0.7 13.5 4.5 2.6 2.0 24.1 5.7 25.2 というように、14個の数字が書かれています。 これを A1に60、A2に0.8、A3に42.2、・・・・・、A14に25.2 というように、別々のセルに書き換えたいです。 ご存知の方、よろしくお願いします。

  • ms エクセル 2003で複数データーの抽出

    ms エクセル 2003で複数データーの抽出貼り付け (例)下のようにA1セル縦にランダムに数字が並んでいます。この縦に 並んでいる数字をB1~B6に任意の範囲に並べる式又は関数をおしえて   A        B               ください。 1 6 16 26 36    1~8までを横に並べる(1 3 5 6 8 )―――例 2 8 18 28 38 12~16までを横に並べる(     ) 3 2 12 22 32 42 11~23までを横に並べる(     ) 4 3 13 23 33 43 20~31までを横に並べる(     ) 5 5 15 25 35 33~39までを横に並べる(     ) 6 1 11 21 21 41 36~43までを横に並べる(     )

  • エクセルで関数を使ってランダムな数字をそのまま並び替え

    エクセルで関数を使ってランダムな数字をそのまま並び替える方法を教えて下さい。   A    B 1 Aクラス Bクラス 2  6      9 3   8     3 4   3     8 5   9     6 セルA1がAクラスというタイトルでA2から数字がランダムに並んでいて、セルB1にBクラスというタイトルでA2:A5までの数字がB2:B5にそのまま上下をひっくり返す形で表示されるような関数を教えて下さい。 B2に=INDIRECT("A"&COUNT($A$2:$A$5)-ROW()+1)と入れるとA1のタイトルまで巻き込まれて入替えてしまいます。 並び替えボタンを使う方法ですと余分な列を作ることになり、それだと他のところに影響が出てしまうため使えません。説明が下手で申し訳ありませんが、わかる方、宜しくお願いします。

専門家に質問してみよう