- ベストアンサー
Excelで該当する項目を抜き出す
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- kagakusuki
- ベストアンサー率51% (2610/5101)
Ctrl+Shift+Enterの操作が不要で、データを入力するだけで、結果が自動的に表示される方法です。 今仮に、元の表がSheet1に表示されていて、Sheet1のF列には各個人名が入力済みとなっているものとします。 又、Sheet2のA列を作業列として使用するものとします。 まず、Sheet2のA2セルに次の数式を入力して下さい。 =IF(COUNTIF(INDEX(Sheet1!$B:$B,ROW()):INDEX(Sheet1!$D:$D,ROW()),"><"),"◆"&INDEX(Sheet1!$B:$B,ROW())&"◇"&COUNTIF(A$1:A1,"*◆"&INDEX(Sheet1!$B:$B,ROW())&"◇*")+1&"◆"&INDEX(Sheet1!$C:$C,ROW())&"◇"&COUNTIF(A$1:A1,"*◆"&INDEX(Sheet1!$C:$C,ROW())&"◇*")+1&"◆"&INDEX(Sheet1!$D:$D,ROW())&"◇"&COUNTIF(A$1:A1,"*◆"&INDEX(Sheet1!$D:$D,ROW())&"◇*")+1&"◆","") 次に、Sheet2のA2セルをコピーして、Sheet2のA3以下に貼り付けて下さい。 次に、Sheet1のG2セルに次の数式を入力して下さい。 =IF(INDEX($F:$F,ROW())="","",IF(COUNTIF(Sheet2!$A:$A,"*◆"&INDEX($F:$F,ROW())&"◇*")<COLUMNS($G:G),"",INDEX($A:$A,MATCH("*◆"&INDEX($F:$F,ROW())&"◇"&COLUMNS($G:G)&"◆*",Sheet2!$A:$A,0)))) 次に、Sheet1のG2セルをコピーして、Sheet1のH2~I2の範囲に貼り付けて下さい。 次に、Sheet1のG2~I2の範囲をコピーして、Sheet1のG列~I列の3行目以下に貼り付けて下さい。 以上です。
- MackyNo1
- ベストアンサー率53% (1521/2850)