![タイトル](https://assets.st-note.com/production/uploads/images/18269108/rectangle_large_type_2_372b6e534a94810e3bcdfc611881cd6d.png?width=1200)
きゃしーの必殺エクセル関数~問題児NAをなだめて1秒でも早く帰る~
こんにちは。きゃしーです。
第2回の「みんな大好きVLOOKUP」を公開した後に西園寺さんから頂いたリクエストがこちら。
(当時のタイプミスの指摘も自分から晒していくスタイル)
きゃしー先生っ!
— 西園寺俊児 (@saipoda) December 16, 2019
3がぁ
あと#N/Aかわいく無いから何とかしてください。 pic.twitter.com/q9y4mRaNoj
#N /Aかわいく無いから何とかしてください。
はい、めっちゃくちゃかわいくないですよね。 #N /A すごい問題児。今日はこの問題児をなんとかしていきます。
#N /Aってなに?
「#N/Aってよく見かけるし、邪魔だし、だいたいなんかエラーでしょ?VLOOKUPで目当てのデータが見つからない時に表示される問題児だよね」ということしか理解してなかったのでぐぐります。
Microsoftのページによると…
一般に、エラー値 #N /A は、数式で参照の対象が見つからないことを示しています。
だそうです。ふむふむ。
#N /Aを表示させないためには
提出用の資料を作成する時に問題児#N/Aが表示されているのはもってのほかなので、問題児#N/Aをなだめて引っ込んでいてもらいましょう。そこで使うのがこの2つ「IFERROR」「IFNA」
=IFERROR(関数, エラーだった場合の値)
=IFNA(関数, NAだった場合の値)
問題児#N/Aが暴れくるっているこのExcelに
「IFERROR」と「IFNA」でなだめていくと
こんな風におとなしくなってくれます!
=IFERROR(関数, "正しい値を入力してください")
⇒ エラーメッセージを表示できたり
=IFNA(関数, "")
⇒ そもそもなにもなかったことにできる
そして関数部分にはセルを指定できるので、I4のセルにVLOOKUP関数を、J4のセルに =IFNA(I4, "正しい値を入力してください") と書けます。
IFERROR,IFNA,ISERROR,ISNAの違いって?
ここまでくると、IFERRORとIFNAってなにが違うのよ?って思うじゃん。私は思ったよ。普段 IFERROR ばっかり使っているけど IFNAでいいなら、IFNAの方がタイプ数が少なくて1秒早く帰れるじゃん。詳しく説明する前に、
IFERROR, IFNA にはいとこがいてそれがISERROR, ISNA。その関数が正しいか、正しくないかをTRUE,FALSEで判定してくれる便利屋さん。
Excelの厄介者であるエラーはいくつかあって、#NULL!, #DEV /0!, #VALUE !, #REF !, #NAME ?, #NUM !, #N /A …あぁよく見かけるよねぇ。割り算の分母に0が指定されちゃったり、行の削除したら関数に指定したセルが消えたりして出てくる面々。対象のセルが「ERRORですか?」って聞くとISERRORは「TRUE(はい、エラーです)」って答えてくれる。でも、ISNAは「問題児#N/Aですか?」って聞かないと「TRUE(はい、問題児#N/Aです)」って回答してくれないのです。こんな感じにね。
同じように、IFERROR,IFNAも「エラーですか?」と「問題児#N/Aですか?」と聞いて「そうだよー」ってときは2つめに指定した値を表示してくれるということです。
ほら、もうこれで、#N/Aの部分を値コピーして、文字列になった#N/Aを値なしに置換しなくて済むでしょ(←昔は私もこんなことやってた)
これをマスターすれば、たぶん2分くらい早く帰れる(当社比)
「スキ」を押してもらえると次回のお題が見れますよ
この記事が気に入ったらサポートをしてみませんか?