VLOOKUP関数の#N/A表示を空欄にする方法

このQ&Aのポイント
  • VLOOKUP関数を使用して複数の表からデータを検索し、結果を表示しています。しかし、表に該当のデータがない場合は#N/A表示になってしまいます。
  • この問題を解決する方法として、IF関数とISNA関数を組み合わせて、#N/A表示を空欄にすることができます。
  • 具体的には、VLOOKUP関数で検索した結果が#N/Aの場合、IF関数を使用して空欄にするように条件を設定します。
回答を見る
  • ベストアンサー

VLOOKUP関数の#N/A表示を空欄にしたい

VLOOKUPで2つの表から検索し反映させていますが表に無かった場合に#N/A表示になるので これを空欄にしたいです。教えて下さい。 たとえばC1のセルに田中と入力すると自動的に太郎と表示され井上と入力すれば一郎と出ますが 斉藤と入力した場合に#N/Aと表示されるので空欄にしたいです。ちなみにC1に何も入力されていない場合は空欄がいいです。   O3:田中 P3:太郎   S3:井上 T3:一郎 =IF(ISNA(VLOOKUP(C1,$O$3:$P$10,2,FALSE)),VLOOKUP(C1,$S$3:$T$10,2,FALSE),VLOOKUP(C1,$O$3:$P$10,2,FALSE)) と現在関数を入れています。 色々試しましたがわからないので教えてほしいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

=IF(ISNA(VLOOKUP($C$1,$O$3:$P$10,2,FALSE)),IF(ISNA(VLOOKUP($C$1,$S$3:$T$10,2,FALSE)),"",VLOOKUP($C$1,$S$3:$T$10,2,FALSE)),VLOOKUP($C$1,$O$3:$P$10,2,FALSE))

kaoru0501
質問者

お礼

お返事有り難うございます。 関数も短くなってC1が空欄の時は0表示になりますが自分で出来たので 参考になりました!!

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

必ずどっちかには該当データがあると保証できるなら =IF(C1="","",VLOOKUP(C1,IF(COUNTIF($O$3:$O$10,C1),$O$3:$P$10,$S$3:$T$10),2,FALSE)) でいいです。 ご利用のエクセルのバージョンが不明ですが、エクセル2007以降を使って =IF(C1="","",IFERROR(VLOOKUP(C1,$O$3:$P$10,2,FALSE),"")&IFERROR(VLOOKUP(C1,$S$3:$T$10,2,FALSE),"")) としておくのがとりあえず一番簡単(で安全)です。 エクセル2003以前を使っているなら =IF(C1="","",IF(COUNTIF($O$3:$O$10,C1),VLOOKUP(C1,$O$3:$P$10,2,FALSE),"")&IF(COUNTIF($O$3:$O$10,C1),VLOOKUP(C1,$S$3:$T$10,2,FALSE),"")) とします。

kaoru0501
質問者

お礼

さっそくのお返事ありがとうございます。 エクセルの方はIFERRORの関数がないので2003年以前の関数を使用してみましたが うまく表示されません。。。。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

=IF(ISNA(IF(ISNA(VLOOKUP(C1,$O$3:$P$10,2,FALSE)),VLOOKUP(C1,$S$3:$T$10,2,FALSE),VLOOKUP(C1,$O$3:$P$10,2,FALSE))),"",IF(ISNA(VLOOKUP(C1,$O$3:$P$10,2,FALSE)),VLOOKUP(C1,$S$3:$T$10,2,FALSE),VLOOKUP(C1,$O$3:$P$10,2,FALSE)))

kaoru0501
質問者

お礼

さっそくお返事頂きありがとうございます。 2つの表に当てはまらない場合は空欄になったのですがC1のセルが空欄の場合は0と表示されてしまいます。出来れば空欄にしたいのですが。。。。 教えて頂ければ助かります。

関連するQ&A

  • VLOOKUP関数が#N/Aで使えません

    こんにちは。 エクセルで表を作っています。 VLOOKUP関数を使いたいのですが、エラー#N/Aが出て使えません。とてもシンプルな式なのに、何がだめでできないのか全く解かりません。 式は、=VLOOKUP(C3&D3,A7:D12,4,FALSE)です。 ちなみに、=VLOOKUP(C2,B7:D12,3,FALSE)にはちゃんと反応して数値を返してくれます。違いは検索値だけなのですが、数字になっているので、文字列に指定もしました。違うセルで=C3&D3は返してくれています。 何がいけなくてできないのか、教えていただけると助かります。 よろしくお願いします。

  • ISNA関数で空欄と「0」が表示される

    VLOOKup関数で#N/Aを表示させないために、ISNA関数を使用しているのですが、セルによって関数の結果が空欄のところと「0」を表示されるところが出来てしまいます。組み合わせている関数はセルの番号が違うぐらいでどうして表示される結果が違うのかわかりません。 どなたかわかる方ご教授願います。 組み合わせている関数は =IF(ISNA(VLOOKUP(G22,sheet2!$I$5:$J$122,2,0)=""),"",VLOOKUP(G22,sheet2!$I$5:$J$122,2,0)) です。 よろしくお願いします。

  • VLOOKUP関数で行番号のセルが空欄のとき

    Excel2003でVLOOKUPを使って表を作成しています。 内容は シート1 商品番号を入力(A1)すると、商品のタイトル・商品名・商品の説明を表示 シート2 商品一覧表 ↓   A   B    C    D    E     F 1 番号 商品名 商品説明 商品名 商品説明 商品タイトル 商品タイトル VLOOKUP($A$1,商品一覧表!$A$1:$F$1,6,FALSE) あと商品名、商品説明は、行番号を変えて(4つ表示)入力してあります。 ひとつの番号にたいして、商品名と商品説明が少数(3つ以下)の場合 空欄表示させるにはどうしたらいいのか教えていただけないでしょうか。 よろしくお願いします(o_ _)o))

  • アクセスの関数

    アクセスでこのような関数を使っています。 =IF(ISNA(VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE)),"! NO DATA !",VLOOKUP(C5,部品番号対照表!$A$2:$B$330,2,FALSE)) 一応機能するのですが、$B$330の中で空欄があると『0(ゼロ)』と表示されてしまいます。ここに何も表示されないようにするにはどうしたらいいですか? "!NO DATA!"の所を『""』にすればよいかと思いやってみましたが、やはり0(ゼロ)が表示されます。 ふー、困りました。

  • VLOOKUP関数?

    ちょっと、いきづまってましてご協力お願いします。 以下のような表があります。 A列 B列  山田 太郎 殿馬 一人 山田 サチ子 里中 智 岩鬼 正美 C列に山田家(の名前)を集めたいと思います。 セル【C1】には、太郎 セル【C2】には、サチ子 といった感じになるように表示したいです。 【C1】は、VLOOKUP("山田",$A$1:$B$5,2,FALSE)を利用して ”太郎”と表示できるのですが、 【C2】に”サチ子”と表示させるには、 どのようにすればよいでしょうか? ※例として名前をだしましたが、実際のデータは違うものです。 

  • VLOOKUPでエラー表示と0表示を無くしたい

    VLOOKUPで下の条件にあった数式を作りたいのですが、うまくいきません。 条件は (1)参照先のセルが数値のため0が表示されるが、0と空白は区別したいので、戻り値が空白の場合は0を表示させない。 (2)参照元のシートには参照先には無いコードがあるので、エラー(#N/A)が出てしまうがエラーも表示させない。 作ってみた数式は =IF(OR(VLOOKUP(B1,入力!$B$1:$C$6,2,FALSE)="",ISERROR(VLOOKUP(B1,入力!$B$1:$C$6,2,FALSE))),"",VLOOKUP(B1,入力!$B$1:$C$6,2,FALSE)) です。 戻り値が空白、またはエラーの時に参照先のセルが空白になるように作ったつもりですが、どうしてもエラー(#N/A)が出てしまいます。 どなたかアドバイスいただければ嬉しいです。 よろしくお願いいたします。

  • ExcelのVLOOKUPを使った自動表示

    昨日も似たような質問をしたのですが、新たに困った事が出てきたので 質問します。 Sheet1のセルに例えば下記のようにA列に番号、B列に苗字、C列に名前     A  B   C  1  1  山田 太郎  2  2  田中 一郎  :  :  :   : と記載されていて、 Sheet2のセルB1に苗字、C1に名前を入力したらA1に自動的にその人の 番号が表示されるようにしたいのですが…。 VLOOKUP関数をうまく使えば出来るのでしょうか?? よろしくお願いいたします。

  • エクセルでVLOOKUP関数でエラーが出ました教えてください

    ある表を作り、違うシートに工種コードの表を作り 下記の関数を作ってみました =VLOOKUP(B5,工種コード!$C$2:$D$129,2,FALSE) すると #N/A このエラーが出ます ちゃんと表示されるところもあるのですが どうすれば良いか分かりません 教えてください

  • #N/Aのエラーを消したいです

    現在A1に=VLOOKUP(B32,I6:O1005,2,FALSE)が入っておりましてB32の数値がI行にB32と同じ数値があるときにはいいのですがI行に無い場合は#N/Aがでます。ない場合は空欄にしたいのですがどのようにしたらいいですか? お手数ですがお願いします。

  • VLOOKUP関数をIFで条件付けしたのですが。。

    シートが2枚あり1枚は名簿シートです。 別シートのセルA1に名簿シートのコード番号を入力し セルA2にVLOOKUP関数で式を下記のように入れています。 =VLOOKUP(A1,名簿!N:P,3,FALSE) このとき値がブランクになるときがあるので そのときは隣の列から数値を拾い出したいのです。 そこで =VLOOKUP(A1,名簿!N:Q,4,FALSE) だと思うのですがですが、自分でIFで式を組んだら =IF(VLOOKUP(A1,名簿!N:P,3,FALSE)="",VLOOKUP(A1,名簿!N:Q,4,FALSE),VLOOKUP(A1,名簿!N:P,3,FALSE)) となりました。 一応、希望通りの答えが返されるのですが、 もっと簡潔な組み方はあるのでしょうか?? IFでなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

専門家に質問してみよう