[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数字の選出』(小春)
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))
と入力して下および右へコピーしてみてください。 (独覚)
=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.