質問: Excelで、シートAに名簿があり、「合格」になった子だけをシートBに並べて表示(抽出)したい場合、どのような関数がおすすめでしょうか?
回答: ご質問者のEXCELの環境がMicrosoft365である場合、FILTER関数が使えます。 sheet1に添付画像1のような一覧表があったとして、sheet2に合格者を抽出します。 sheet2のA1~C1に「氏名」「番号」「学年」という見出しを置いたとして、 A2に =FILTER(Sheet1!A2:C14,Sheet1!D2:D14="合格","") という関数を記述すれば、自動的に添付画像2の左側のような表が自動的に表示されます。 ※A2:C14などの範囲は実際のデータに合わせて範囲を調整してください。 ご質問者のEXCELの環境がMicrosoft365でない場合、FILTER関数が使えません。 この場合は添付画像2の右側の表のように、抽出した氏名を表示すべきセルに =IFERROR(INDEX(Sheet1!A$1:A$1000,(1/AGGREGATE(14,6,(Sheet1!$D$1:$D$1000="合格")*(1/ROW(A$1:A$1000)),ROW(A1)))),"") という関数を記述し、これを右方向、下方向へオートフィル等でコピーすればよいでしょう。 ※データが1000行まであると仮定してA$1:A$1000などの範囲を指定しています。実際のデータ範囲に合わせて範囲を調整してください。