使用関数:IFERROR、VLOOKUPExcel:2007~2016
データを自動入力させるためにVLOOKUP関数を適用させた一覧表で、未入力箇所に表示されてしまう#N/Aエラーを消すのに、昔はIF+ISERRORで長い数式を入力する必要がありましたが、2007から一つにまとめたIFERROR関数が登場! 式は短くなり、煩雑さも大幅にカットされました。
初めからIFERRORとVLOOKUPの組合せで式を作る
IFERROR関数を使って#N/Aエラーを出現させずにVLOOKUP関数を適用する操作説明です。「商品コード」を入力すると「商品名」が自動で表示されるよう設定します。
(参照する表データ(下図)の範囲には「list」という名前を定義しておきました)
「商品名」の最初のセル(上図の例ではB5)を選択し、「数式」タブ「関数ライブラリ」の「論理▼」からドロップダウンリストを表示させて、「IFERROR」をクリック。
「関数の引数」ダイアログボックスが開きます。引数(入力項目)は2つ。
「値」:「商品コード」セルに適正な値が入力された時、「商品名」セルに表示される値を設定します。即ち、VLOOKUP関数式を入れるわけです。
「エラーの場合の値」:「商品コード」セルに不正な値が入力された時、「商品名」セルに表示される値を設定します。不正な値には未入力も含まれます。
まず、「値」にVLOOKUP関数式を入れましょう。
「値」のテキストボックスにカーソルが点滅している状態で、数式バーの左横にある「関数名▼」を押してリストを表示させ、「VLOOKUP」を選びます。
または、数式バーの左横にある「関数の挿入」ボタンをクリックして、
アクティブになった「関数ライブラリ」の「検索/行列▼」リストから「VLOOKUP」を選びます。
VLOOKUP用の「関数の引数」ダイアログボックスが開いたら、4箇所の引数を入力していきますが、入力が終わっても「OK」や「Enterキー」を押してはいけません
▶VLOOKUP関数の入力方法はこちらで詳述しています
入力が済んだら、ダイアログボックスを開いたままで数式バーの式の中にある「IFERROR」の文字をクリックします。
IFERROR用の「関数の引数」ダイアログボックスに戻るので、「エラーの場合の値」を指定します。
検索値(=商品コード)が未入力でも#N/Aが表示されず、空欄のままにしておきたいなら、ダブルクォーテーション「"」を二つ続けて入力して下さい。
を押しながらを2度押します。
もし、「該当無し」とか「品切れ」とか何らかの文字や記号を表示させたいなら、二つのダブルクォーテーションの間に入れます。
手動で入力する場合の式は「=IFERROR(VLOOKUP(A5,list,2,0),"")」です。
=IFERROR(VLOOKUP(検索値のセル番地,参照する表のデータ範囲名またはセル範囲の番地,列番号,検索方法),"ここが空なら空欄表示・文字があればそれが表示される")
既に適用したVLOOKUP関数をIFERROR関数でくくる
#N/Aエラーを消したくてググッていらっしゃった方は、既にVLOOKUP関数を適用してあって、それを修正したいという状況だと思います。
もしかすると、↓こんな感じ?
検索値に入力して適正な値が返るなら、せっかく入れた式をリセットして最初からやり直すのはもったいない。…で、今ある数式をコピーしてIFERROR関数の中に入れ子してしまえばいいわけです。
#N/Aが入った最初のセルをクリック、数式バーに表示された式の=を除いた部分VLOOKUP(A5,list,2,0)をドラッグして選択し、とを押すか、右クリックでコピーします。()内は参考。
続いて、Deleteキーを2度押してセルの中を空にしておきます。
「数式」タブ「関数ライブラリ」の「論理▼」からドロップダウンリストを表示させて、「IFERROR」をクリック。
「関数の引数」ダイアログボックスが開いたら、「値」にカーソルが点滅している状態で<とを押すか、右クリックでペーストを選びます。
※頭に「=」がくっついてないか確かめておきましょう。あったら、削除。
「エラーの場合の値」にカーソルを移します。この後は前章で説明した通りです。
#N/Aを消して空欄にしたいだけなら、
を押しながらを2度押しましょう。
#N/Aが消えて空欄になりましたね?
後は、このセルのフィルハンドルを下までドラッグするかダブルクリックでフィルコピーして全ての#N/Aを消して終わりです。
▶オートフィルで数式を一括コピー
「商品コード」を入力して動作確認してみました。