エクセルマクロ・VBA達人養成塾 小川です。
達人養成塾 小川です。
しばらく、ブログ放置してしまいました。かなり忙しくしています。
ということで、今日は、さいきんあるところで受けた相談から。
こんな相談を受けました。
その際に、仮に10000件リストがあったとしたら、
最初に2000ずつA/Bテストをして、
残り6000に結果が良かった方を突っ込むということをします。
業者からもらえるリストは都道府県ごとに並んでいるのですが、
上が北海道、最下部が沖縄という構成です。
このとき、うまーく、A/B都道府県がシャッフルされるようにしたいです。
手動でリストを分けていたのですがエクセルマクロの達人であれば、
一瞬でうまくテスト足り得るリスト分けをしてしまったり出来るのでしょうか・・・
解り難い&長くてすみません!
とのこと。
要は…。例えば、以下のようなデータがある。
|B列 |C列 |
-------------------------------
1 行目 |名前 |関数 |
-------------------------------
2 行目 |大分/健 | |
-------------------------------
3 行目 |橋本/奈子 | |
-------------------------------
4 行目 |津/祥平 | |
-------------------------------
5 行目 |福岡/敏久 | |
-------------------------------
6 行目 |宇都宮/加奈子 | |
-------------------------------
7 行目 |松山/秀二 | |
-------------------------------
8 行目 |都島/孝富 | |
-------------------------------
9 行目 |熊本/謙次 | |
-------------------------------
10行目 |佐世保/彰 | |
-------------------------------
11行目 |新宿/若菜 | |
-------------------------------
12行目 |三重/留美 | |
-------------------------------
13行目 |徳島/若菜 | |
-------------------------------
14行目 |新宿/麻子 | |
-------------------------------
15行目 |徳島/康明 | |
-------------------------------
16行目 |米子/輝恵 | |
-------------------------------
17行目 |門司/麻美 | |
-------------------------------
18行目 |札幌/めぐみ | |
-------------------------------
19行目 |名古屋/輝恵 | |
-------------------------------
20行目 |岡山/真菜 | |
-------------------------------
21行目 |門司/宜之 | |
-------------------------------
このとき、2行目から21行目までの20件のデータのうち、
任意の何件かを選択したいということ。
さて、どうするか。
マクロを使うまでもなく、エクセルの関数で解決できます。
=RAND() という関数がありまして。
実行する都度、0~1の範囲の小数値をランダムに返してくれます。
ということで。
僕ならまずはこんな風に関数を埋め込みます。
|B列 |C列 |
----------------------------------
1 行目 |名前 |関数 |
----------------------------------
2 行目 |大分/健 |=RAND()|
----------------------------------
3 行目 |橋本/奈子 |=RAND()|
----------------------------------
4 行目 |津/祥平 |=RAND()|
----------------------------------
5 行目 |福岡/敏久 |=RAND()|
----------------------------------
6 行目 |宇都宮/加奈子 |=RAND()|
----------------------------------
7 行目 |松山/秀二 |=RAND()|
----------------------------------
8 行目 |都島/孝富 |=RAND()|
----------------------------------
9 行目 |熊本/謙次 |=RAND()|
----------------------------------
10行目 |佐世保/彰 |=RAND()|
----------------------------------
11行目 |新宿/若菜 |=RAND()|
----------------------------------
12行目 |三重/留美 |=RAND()|
----------------------------------
13行目 |徳島/若菜 |=RAND()|
----------------------------------
14行目 |新宿/麻子 |=RAND()|
----------------------------------
15行目 |徳島/康明 |=RAND()|
----------------------------------
16行目 |米子/輝恵 |=RAND()|
----------------------------------
17行目 |門司/麻美 |=RAND()|
----------------------------------
18行目 |札幌/めぐみ |=RAND()|
----------------------------------
19行目 |名古屋/輝恵 |=RAND()|
----------------------------------
20行目 |岡山/真菜 |=RAND()|
----------------------------------
21行目 |門司/宜之 |=RAND()|
----------------------------------
各セルの計算結果は、こうなりました↓。
|B列 |C列 |
----------------------------------
1 行目 |名前 |関数 |
----------------------------------
2 行目 |大分/健 |0.66384|
----------------------------------
3 行目 |橋本/奈子 |0.92754|
----------------------------------
4 行目 |津/祥平 |0.35234|
----------------------------------
5 行目 |福岡/敏久 |0.65578|
----------------------------------
6 行目 |宇都宮/加奈子 |0.08155|
----------------------------------
7 行目 |松山/秀二 |0.42171|
----------------------------------
8 行目 |都島/孝富 |0.7938 |
----------------------------------
9 行目 |熊本/謙次 |0.60088|
----------------------------------
10行目 |佐世保/彰 |0.16332|
----------------------------------
11行目 |新宿/若菜 |0.49814|
----------------------------------
12行目 |三重/留美 |0.62086|
----------------------------------
13行目 |徳島/若菜 |0.85767|
----------------------------------
14行目 |新宿/麻子 |0.13177|
----------------------------------
15行目 |徳島/康明 |0.53909|
----------------------------------
16行目 |米子/輝恵 |0.25509|
----------------------------------
17行目 |門司/麻美 |0.57524|
----------------------------------
18行目 |札幌/めぐみ |0.07642|
----------------------------------
19行目 |名古屋/輝恵 |0.50243|
----------------------------------
20行目 |岡山/真菜 |0.85159|
----------------------------------
21行目 |門司/宜之 |0.11581|
----------------------------------
そうしたら、C列で並べ替えて、上から好きな順にピックアップしていけばOKです。