- 締切済み
INDEX関数とMATCH関数(おそらく)について
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
回答No.2
B列に番号が振られている事を利用する方法です。 今仮にL列を作業列として使用し、I3セル以下に取り出した番号、J3セル以下に取り出した品目を表示させるものとします。 まず、L3セルに次の数式を入力して下さい。 =IF(COUNTIF($D3:$G3)=0,"",$B3) 次に、L3セルをコピーして、L4~L6の範囲に貼り付けて下さい。 次に、I3セルに次の数式を入力して下さい。 =IF(ROWS($2:2)>COUNT($L:$L),"",SMALL($L:$L,ROWS($2:2))) 次に、J3セルに次の数式を入力して下さい。 =IF($I3="","",VLOOKUP($I3,$B:$C,2)) 次に、I3~J3の範囲をコピーして、I4~J6の範囲に貼り付けて下さい。 以上です。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No.1
分かり易い方法は作業列を作って対応することでしょう。 お示しの表がシート1に有るとしてH4セルには次のp式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(D4:G4,0)>0,MAX(H$3:H3)+1,"") お求めの表をシート2のA列とB列に表示させるとしてシート2のA2セルには次の式を入力しB2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(Sheet1!$H:$H),"",INDEX(Sheet1!$B:$C,MATCH(ROW(A1),Sheet1!$H:$H,0),COLUMN(A1)))