INDEX × MATCH 関数はVLOOKUP 関数と同様に値の検索によく用いられるますが、
値がない場合は、「0」の値が戻り値(関数によって返される値)になります。
これはエラーではなくINDEX関数の仕様であるため仕方がありません。
ですが、どうしても空欄で値を取得したいケースもありますので、そのやり方についてご紹介します。
戻り値を「0」から空欄にする方法
対処法として以下の2通りあります。
- IF関数を用いる方法 → INDEX × MATCH 関数だけのシンプルな場合にオススメ
- IFERROR関数を用いる方法 → INDEX × MATCH 関数の中にさらに複雑な処理を行う場合にオススメ
シンプルなのは「IF関数を用いる方法」ですが、どうしてもIFERROR関数で対処しなければいけない場合もあります。
例えば =INDEX(B:B,MATCH(TEXT(E2,E:E,0),0))のように、
MATCH関数もしくはINDEX関数の中にさらに関数を入れているケース(関数のネストをしているケース)です。
その関数についても、エラー処理をしたい場合どうしてもIFERROR関数を使う場合があると思います。
それらについてやり方を紹介します。
IF関数を用いる方法
以下のような INDEX× MATCH 関数であったとします。
これをIF関数を追加して以下のようにします。これで戻り値が「0」ではなく空欄になります。
よくわからないという方は、もともとのMATCH × INDEX関数をコピーしてIF関数の以下の赤字の箇所に貼り付けてください。
IFERROR関数を用いる方法
さきほどと同様に以下のような INDEX× MATCH 関数であったとします。
これをIFERROR関数を追加して以下のようにします。これで戻り値が「0」ではなく空欄になります。
※ IFERROR関数の末尾が ,"") ではなく &"","") となっていることに注意してください。
これをしないと空欄ではなく「0」が返されてしまいます。
よくわからないという方は、もともとのMATCH × INDEX関数をコピーしてIF関数の以下の赤字の箇所に貼り付けてください。