ここから質問投稿すると、最大10000ポイント当たる!!!! >>

シート1に下記のように14種類の名前リストがあります

    A
1   A
2   B
3   C
4   D
5   E
6   F
7   G
8   H
9   I
10  J 
11  K
12  L
13  M
14  N

上記の名前を下記のように別シートの数列おきの列(行は同一)に重複なしに行毎にランダムに抽出する事が関数で出来るでしょうか?(エクセルは2010です)
ちなみに下記は一列おきのセルに抽出した例です

  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA
1 D   L   K    I    A   M   N    B   H   J    C    F    E   G
2 K   J   M   H    I   G   F    E   D    A    B   N   C    L
3 E   J   A    L   B   M    K   C   N    G    F   D    H   I

どなたか教えていただける方がおりましたらよろしくお願いします。

という質問をさせていただき、mike gさんに下記のような回答をいただきました


1.Sheet1 の例えばセル C1 に式 =RAND() を入力して、此れを右に2列(注1参照)ドラッグ&ペースト
2.範囲 C1:E1 を下方にズズーッと(14行目まで)ドラッグ&ペースト
以下は別シート(Sheet2)における操作です。
3.セル A1 に次式を入力して、此れを右方にズズーッと(セル AA1 まで)ドラッグ&ペースト(注2参照)
  =IF(MOD(COLUMN(),2)=1,INDEX(Sheet1!$A$1:$A$14,MATCH(SMALL(OFFSET(Sheet1!$C$1,,ROW()-1,14,),CEILING(COLUMN()/2,1)),OFFSET(Sheet1!$C$1,,ROW()-1,14,),0)),"")
4.1行目全体を下方にズズーッと(3行目まで)ドラッグ&ペースト

注1:「右に2列」は別シートの行数が3行の場合で、4行(5行)の場合は「右に3列(4列)」に読み替える。
注2:式中の 2 は「一列おき」の場合で、二列(三列)おきの場合は 2 を 3(4) に書き替える。


これで完璧に出来たのですが
実際にはSheet2のセルH6から15列おきに抽出したいのです。
15列おきは出来たのですが、セルH6から抽出を始めるにはどの部分を変更すれば良いのでしょうか?
どなたか教えて頂ける方がおりましたらよろしくお願いします。

A 回答 (2件)

H6: =IF(MOD(COLUMN(A1),16)=1,INDEX(Sheet1!$A$1:$A$14,MATCH(SMALL(

OFFSET(Sheet1!$C$1,,ROW(A1)-1,14,),CEILING(COLUMN(A1)/16,1)),OFFSET(Sheet1!$C$1,,ROW(A1)-1,14,),0)),"")
    • good
    • 0
この回答へのお礼

たびたびお世話になりありがとうございます。

15が16でしたが完璧に出来ました。

少しずつ理解できるようになりました。

お礼日時:2010/11/30 19:26

そのものずばりではないですが、たぶん、ヒントになる回答。


B1セル =RAND()
C1セル =INDEX($A$1:$A$14,RANK(B1,B$1:B$14))
B1:C1セルを下へオートフィル
そのまま右へオートフィル(欲しい行数*2)
---- * ---- * ---- * ---- * ---- * ----
C17セル 1 下へ連番
D16セル 1 右へ 飛び飛びで連番。

D17セル =IF(D$16="","",INDEX($B$1:$I$14,D$16,$C17*2))
右へ下へオートフィル
「リストのデータを重複なしでランダムに抽出」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございます。

参考になりました。

お礼日時:2010/11/30 18:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング