[[20100708134947]] 『数字の選出』(小春) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数字の選出』(小春)
    A        D   E  F  G  H  I  J  K  L
1                     1   2  3  4  5  6  7  8  9
2  4                2   5  2  1  1  1
3  1                6
4  2                1
5  5                3
6  1
7  6
8  1  
9  1
10  3
11 2

 A列に1〜9までの数字がランダムに記入されています

 D1〜L1はA列の数字を配置し
 A列に1が記入されていたら1の次の数字をD2以降に書き出し
 同じように2の次の数字をE2以降に書き出し 以後同じ
 この書き出し方法の関数かVBAをご教授お願いします
  OS WinXP  Excel2000です


 D2セルに

=IF(SUMPRODUCT(($A$2:$A$11=D$1)*(OFFSET($A$2:$A$11,1,)<>""))<ROW(1:1),"",INDEX($A$2:$A$11,MATCH(SMALL(INDEX(($A$2:$A$11<>D$1)*65536+ROW($A$2:$A$11),0),ROW(1:1)),INDEX(($A$2:$A$11=D$1)*ROW($A$2:$A$11),0),0)+1))

 と入力して下および右へコピーしてみてください。
 (独覚)

D2

=IF(COUNTIF($A:$A,D$1)=0,"",IF(INDIRECT("a"&MATCH(D$1,$A:$A,0)+ROW(A1))="","",INDIRECT("a"&MATCH(D$1,$A:$A,0)+ROW(A1))))

必要数右下へフィルコピー
でいかが?(tinnjyau)


 D2:=IF(SUMPRODUCT(($A$2:$A$11=D$1)*($A$3:$A$12<>""))<ROW(A1),"",INDEX($A$2:$A$11,SMALL(INDEX(($A$2:$A$11<>D$1)*65536+ROW($A$2:$A$11),),ROW(A1))))  (NB)

 今回の質問の場合ということで、 (NB)さんの回答そのままですが

 =IF(COUNTIF(($A$2:$A$10,D$1)<ROW(A1),"",INDEX($A$2:$A$11,SMALL(INDEX(($A$2:$A$10<>D$1)*100+ROW($A$2:$A$10),),ROW(A1))))

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.