▼ D2に式を入力しオートフィル ▼
{=IFERROR(INDEX($A$2:$A$8,SMALL(IF(ISNA(MATCH($A$2:$A$8,$B$2:$B$8,0)),ROW($A$2:$A$8)-1),ROW()-1),1),"")}
A列を検索値としてB列範囲を検索し、#N/Aエラーなら(B列にないなら)、小さい順にA列の行番号を返し、INDEX関数の行番号に引き渡す
※
合致する値がなくなると(小さい順に行番号を返し終わると)#NUM!エラーが表示されるため頭にIFERRORを付けます。
★
関数の意味 ★
★MATCH(A列,B列,0) … A列を検索値としてB列範囲を探し、なければ#N/Aエラーが帰ります。
★ISNA(式) … 結果が#N/AエラーならTrueを返します。エラーならA列の番号を取得します。
(NAエラーはデータが存在しない時表示)
★INDEX(配列) … 指定された行番号の値を返します。
|
※フィルタオプションで出すこともできます。