教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows

 

 

Excel2010-2016:A列にあってB列にないものを取り出す (INDEX,SMALL,ISNA,ROW)

 

 


 

 

■ A列にあってB列にないものを別領域に取り出す

 

▼ 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(配列) … 指定された行番号の値を返します。

 

※フィルタオプションで出すこともできます。

 

 

 

 

 

教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows