IFERRORとIFNAの違い
どちらも「エラーのときに別の値を出す」関数ですが、受け止める範囲が違います。
どちらを使うか
検索の結果を包むなら IFNA。「見つからないのは想定内、それ以外のエラーは直すべき不具合」と分けられます。IFERROR は、エラーの種類を問わず隠してよいと分かっているときだけ使います。
違うところ(4つ)
| 見るところ | IFERROR | IFNA |
|---|---|---|
| 受け止めるエラー | すべて(#N/A #VALUE! #REF! #DIV/0! #NUM! #NAME? #NULL!) | #N/A だけ |
| IFERROR は範囲が広すぎて、不具合まで隠す | ||
| 式を間違えたとき | 間違いが隠れる。「空欄」に見えて原因が分からない | そのままエラーが出るので、気づける |
| #NAME?(関数名の打ち間違い)が隠れるのがいちばん困る | ||
| 参照を消したとき | #REF! が隠れる | #REF! は通る |
| 行や列を消したあとに気づけるかどうかの差 | ||
| 使える版 | Excel 2007 以降 | Excel 2013 以降 |
| どちらも古い環境では無い | ||
気をつけるところ
「エラーが出たからとりあえず IFERROR で包む」をやめると、表が壊れていることに早く気づけます。XLOOKUP なら4つめの引数で「見つからないとき」を書けるので、包む必要すらありません。