人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの質問です
A列に47都道府県が並んでいます。

これをランダムに並べ替えたいのですが、どのような手法がありますか?

●質問者: clinejp
●カテゴリ:コンピュータ
✍キーワード:47都道府県 エクセル ランダム 並べ替え
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● JunK
●27ポイント

http://blog.mag2.com/m/log/0000062465/105307869?page=1

B1?B47 に +rand() と書く。

適当に(疑似)乱数を発生させた(F9)後、

B列:A列を選択して、

昇順 又は 降順 で並び替える。

B列の(疑似)乱数をキーにして、都道府県名を並び替えると、結果的に都道府県名はランダムに並びます。


rand()が本当の意味でランダムな数値を発生させるわけではなさそうなので、あくまでも疑似ですけど・・・。

http://ja.wikipedia.org/wiki/%E6%93%AC%E4%BC%BC%E4%B9%B1%E6%95%B...


2 ● mwys
●27ポイント

http://q.hatena.ne.jp/answer

URLはダミーです。

47行すべてのB列に=RAND()と入力したあとにB列を選択し、

[編集]?[コピー]→[編集]?[形式を選択して貼り付け]を選び、

<形式を選択して貼り付け>ダイアログで[貼り付け]-[値]を選びOKを押すと乱数が張り付くと思います。

これとセットで並び替えすればよいのではないでしょうか。


3 ● きゃづみぃ
●26ポイント

マクロ(VBA)を使うしかないですね。

標準モジュールを作成して 以下を貼り付けます。

Ctrl+q で 実行できます。



Sub Macro1()

'

' Macro1 Macro

'

' Keyboard Shortcut: Ctrl+q

'

Dim a As Integer

Dim b As Integer

Dim c As String

For a = 1 To 47

b = Rnd(1) * 46 + 1

c = Range("A" & a)

Range("A" & a) = Range("A" & b)

Range("A" & b) = c

Next a

End Sub


http://excelvba.pc-users.net/fol1/1_1.html

標準モジュールの作成の仕方は こちらを ごらんください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ