作成日:2018-05-25, 更新日:2018-05-25
基本
「VLOOKUP()」で「#N/A」が表示されるのは、単純に見つからなかったとき。
▼VLOOKUP()の基本的な構文
=VLOOKUP(検索させる値,検索範囲,表示させる列数,FALSE)
A | B | C | |
---|---|---|---|
1 | 鳥精 | タレ、塩 | 140 |
2 | 鳥ハツ | タレ、塩 | 130 |
3 | 豚精 | タレ、塩 | 140 |
4 | 鳥レバー | タレ、塩 | 130 |
5 | 豚レバー | タレ、塩 | 130 |
6 | 豚ハツ | タレ、塩 | 130 |
7 | 丸ごとシマウマ | タレ、塩 | 240 |
8 | |||
9 | ▼入力 | ▼vlookupで表示 | |
10 |
・「セル:A10」に「セル:A1~A7」のどれかを入力してもらう
・「セル:B10」に対応する「セル:C1~C7」のどれか表示させる
例えば・・・
・「セル:A10」に「丸ごとシマウマ」を入力すると
・「セル:B10」に「240」を表示させたい。
「セル:B10」に入力する内容
=vlookup(A10,A1:C7,3,FALSE)
■一つ目の「A10」は「検索させる値」。
「セル:A10」をどこかから探す。
■二つ目の「A1:C7」は「検索範囲」。
「セル:A1~C7」が検索範囲。
一つ目の「A10」と比較するのは「検索範囲内の一番左の列」。
つまり「A10」が「A1~A7」にあるかチェック。
■三つ目の「3」は「検索範囲」の中の「表示させる列数」。
「検索範囲:A~C」で「表示させる列数:3」なので「列C」を表示させる。
「VLOOKUP()」が「#N/A」になるとき
上記の「セル:A10」に存在しない文字を入力したとき「#N/A」が表示される。
ココからが本題。
・「#N/A」のときは空白
・「#N/A」じゃないならそのまま表示。
▼まず解答
=if(iserror(vlookup(〇,〇,〇,false)),"",vlookup(〇,〇,〇,false))
説明
▼見やすいように空白や改行をいれてみた
=if( iserror( vlookup(〇, 〇, 〇, false) ), "", vlookup(〇, 〇, 〇, false) )
▼概要
・「if()」で
・「iserror( vlookup(〇, 〇, 〇, false) )」のときは空白、
・他は「vlookup(〇, 〇, 〇, false)」を表示
をしている。
一つ目の「iserror( vlookup(〇, 〇, 〇, false) )」
・「iserror()」で
・「vlookup(〇, 〇, 〇, false)」の結果を調べる
・エラーのときは「FALSE」が返ってくる。
※エラーじゃないときは・・・興味なし
「if()」で「iserror()がfalseのとき」を条件にした。
二つ目の「""」
「if()」で条件が真のときに表示する内容。
条件を「iserror()がfalseのとき」としているので「エラーのときに表示」させる内容。
三つ目の「vlookup(〇, 〇, 〇, false)」
「if()」で条件が偽のときに表示する内容。
条件を「iserror()がfalseのとき」としているので「エラーじゃないときに表示」させる内容。
「VLOOKUP()」が「0」になるとき
存在するけど・・・表示させようとしたセルが空白の場合「0」が表示される
その時は、諦める。
▼諦めるわけにいかないとき
=if(iserror(vlookup(〇,〇,〇,false)),"",if(vlookup(〇,〇,〇,false)=0,"",vlookup(〇,〇,〇,false)))
▼見やすいように空白や改行をいれてみた
=if( iserror( vlookup(〇,〇,〇,false) ), "", if( vlookup(〇,〇,〇,false)=0, "", vlookup(〇,〇,〇,false) ) )
条件が偽のとき、またif()で条件分岐させただけ。