• ベストアンサー
  • すぐに回答を!

VLOOKUP関数で空白を選択すると「0」と表示されるのですが

VLOOKUP関数で他シートのアドレス帳から住所名前等を引き出し、別シートで宛名ラベルを作っています。 この時、何も記入されていないシートをVLOOKUPで読み込んだ場合に、宛名に「0」が表示されてしまうのですが、これを表示させない方法はどうしたらよいのでしょうか? また以前は「0」では無く、「N#A(記憶が曖昧ですが)」のような表示がされていたんですが、どうして変ったんでしょううか? よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数12125
  • ありがとう数12

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

  • ベストアンサー
  • 回答No.2
  • papayuka
  • ベストアンサー率45% (1388/3066)

検索値が見つからない場合は #N/A エラーになります。 検索値が見つかったが、参照する列が空白の場合は 0 になります。 ISERROR や ISNA 等を使ってエラーの場合は空白にすれば、#N/A は表示されなくなります。 例)=IF(ISERROR(VLOOKUP($A2,検索範囲,2,0)),"",VLOOKUP($A2,検索範囲,2,0)) この状態で ツール-オプション-表示タブの「ゼロ値」を外せば #N/A も 0 も見えなくなります。 ただし、検索結果以外の 0 も見えなくなりますのでそれがまずいようなら、 =IF(ISERROR(VLOOKUP($A1,検索範囲,2,0)),"",IF(VLOOKUP($A1,検索範囲,2,0)=0,"",VLOOKUP($A1,検索範囲,2,0))) のような感じにすると#N/A も 0 も見えなくなります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 ISERRORという手がありましたか。 実は、教えていただいた「ゼロ値」のチェックを外しただけで、 今のところは問題の無い宛名表示ができました。 ただ、今後の汎用性を考えてエラー制御関数は組み込んだほうがいいかもしれませんね。 参考になりました。

関連するQ&A

  • VLOOKUP関数 空白表示の出し方

    VLOOKUP関数を使いたいんですけれど、エラーが出でしまいます。 コード  金額 102   1980 103   2500  105   980 という表で コード番号が飛んでいて何番が無いのかわからないデータ量なんです コード番号をVLOOKUPで拾って行きたいのですが番号が無いとエラー表示になってしまいます。コード番号がない場合は空白又は”-”で表示する方法はどうすればよいでしょうか?

  • VLookup 関数が空白を0として引いてきてしまう

    Vlookup 関数が、空白のセルなのに 0 と認識して持ってきてしまいます。どうすれば空白として表示できますか? =vlookup(H88,Levels,2,false) H88 のセルは空白なのに、0 として表示される。

  • VLOOKUPで名前が使えない

     XP,2007pack3ユーザーです。 表に名前を付け、VLOOKUP関数の「範囲」の代名詞として使いたいと思います。 セル上にVLOOKUP の要素を記入してゆき、「範囲」の所で名前ボックスを開きますと、以前に使った関数が羅列され、表の名前が表示されません。 関数を記入していないときは名前が表示されるのですが、いざVLOOKの要素を書き込もうとすると逃げてしますのです。 仕方がないから、表の範囲を反転表示で指定してやっておりますが、どうも納得がゆきません。 そこで教えていただきたいのです。 Q1 関数要素記入時に、お名前ボックスから表の名前を使う方法 Q2 お名前ボックスに既往の関数名を入れない方法(私には、お名前ボックスに既往関数の表示は 有害・不要です。) 以上、よろしくお願いします。

その他の回答 (2)

  • 回答No.3
  • mu2011
  • ベストアンサー率38% (1910/4994)

検索キーの有無を事前にチェックする方法で回避する方法は如何でしょうか。 (例)=IF(COUNTIF(検索キー範囲,検索キー)>0,VLOOKUP式,"")

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 理論的には#1さんのと同じような事なんですかね。 考えてもいなかった関数だったので いろいろな方法があるんだなと思いました。 勉強になります。

  • 回答No.1
noname#153814

=IF(A1="","" をVLOOKUP関数の前に書き込んだらいかがですか。 #N/Aは、検索範囲外内にない場合出ます。 0になったのは、データを増やしていって、検索範囲内になったからではないですか。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 こんなシンプルな方法でもよかったんですね。 個人的にはこのセル内の関数だけで解決できる方法は好きです。 検索範囲のセルデータはいじってないのに#N/Aが0になったのは、おそらくその後に書式設定とかオプションを操作したからじゃないかと思えてきました。 勉強になりました。

関連するQ&A

  • EXCEL97のVLOOKUP関数が誤作動?

    EXCEL97でVLOOKUP関数を使用して、宛名印刷や受注関係のワークシートを使っています。具体的に言いますと、会社ごとの4桁のコードを入力すると、それをキーにして会社名や住所や担当者名を引っ張ってくるというものです。今まで問題なく使っていたのですが、今週に入って誤作動するようになりました。必ずするのではありません。正しく作動することもあり、また、全部が違うのではなく、会社名だけは正しく引っ張るので、余計に気付かれにくくて、困っています。どなたか助けてください。

  • VLOOKUPで表示されない???

    エクセルのVlookup関数について質問です。 =VLOOKUP($AV$1,別シート$A:$AH,2,FALSE) この結果、「02120075」のような数字だと表示されるのですが、 「99040108」 というような始めに「9」がついた数値だと なんの表示もされません。 これはどうしてでしょうか???

  • VLOOKUP関数の応用版をご教示下さい。

    VLOOKUP関数において、参照するシートをフレキシブルに選択できる方法を探しております。 「参照」ファイルの「???」シートを参照したいのですが、???=A1セルなのです。(セルA1にシート名が記入されているのです。) A1の内容が変わるとVLOOKUP関数参照するシート名が自動的に変わるように設定したいのです。 下記のように演算式を組んだ場合に、「????」の部分にどのような関数を使用すれば良いのでしょうか? VLOOKUP(F36,[参照.xls]????!$A$1:$X$227,4,FALSE) 補足として、参照ブックは別ファイルですが、常に開いた状態と練っております。(元ファイルと連動してファイルが開かれます。) どなたか宜しくお願い致します。

  • vlookup関数について困ってます

    エクセルで作ったシートをthinkfreeてがるオフィスで開いたところ、vlookup関数がうまく機能しません(#n/aが表示される)。 ファイルを開いたときは表示されるのですが、数秒でエラー表示になってしまいます。 どなたか詳しい方お願いします。

  • vlookup関数

    vlookup関数 book1に犬シートと猫シート、結果シートがあるとします。 犬シートのA1セルに"イヌ"というデータがあり、 猫シートのC1~C9セルに"ネコ"、C10セルに"イヌ"というデータがあります。 で、結果シートのA1セルに、 =VLOOKUP(犬!A1,猫!C1:C10,1,FALSE) という関数を入力すれば結果として"イヌ"が表示されると 期待したんですが、#N/Aとなってしまいます。 どうすればいいんでしょうか。

  • VLookUp関数について教えて下さい。

    至急お願いします! 現在下記の様な状態です。 ・VLookUpの設定シート A行 B行 ・ ・ ・ ・ ・ ・ 052 △△銀行 ・ ・ ・ ・ 0052 ●●社 ・別シート(社内伝票です) セルA1 セルB1 052 △△銀行 ※セルA1に052 と入れるとVLookUp関数により、B1には△△銀行 と表示されます。 但し、同じセルにB1に●●社 と表示させたいが為に、A1に0052 と入れると、052 と認識されて(052と表示される)B1に △△銀行と表示されてしまいます。 うまく052 と入れたら△△銀行 0052 と入れたら●●社 と表示分けされる方法はないものでしょうか? 初心者なので、分かりやすく教えて頂けると助かります。 宜しくお願い致します。

  • VLOOKUP関数で左端より左の表示

    エクセルのデーター表でC列に会社名が入っていてF列に担当名が入っているがあります。 別のシートで会社名を入れると担当名が表示されるようにVLOOKUP関数を使用しています。 また別のシートで担当名を入れると会社名が表示されるようにしたいのですがどうしたら良いでしょうか? VLOOKUPではできなくて困ってます。 F列の担当名は所々空白があります、そのためかLOOKUP関数を使ってみましたがうまくいきません。

  • vlookup関数と文字列の足し算

    こんにちわ。 別シート(Sheet2)に住所録を作成し、作成シート(Sheet1)にVlookupで住所等をひっぱってこようと思っています。 (住所録は「データ」として名前登録しています) Sheet2 郵便番号 住所   氏名1   氏名2 999-9999 東京都~ 山田太郎 山田花子 その際、別々のセルにある氏名(2名分)を表示させる計算式として =VLOOKUP(B3,データ,3,FALSE)&"様"&" "&VLOOKUP(B3,データ,4,FALSE)&"様" として下記のような結果を出しています。 山田太郎様 山田花子様 このとき、氏名2に名前が入っていないと、 山田太郎様 様 となってしまうのですが、この「氏名2に文字列が入っていないときは”様”を表示しない」ということはできるのでしょうか? どなたかご教示ください。 よろしくお願いします。

  • VLOOKUP関数にて累計数を求めたい

    どうしても関数を使い求めたいので宜しくお願いします。 A2~A5が名前が入力されています。 B2~B5に数字が入力されています。 この表がシート1~シート3になります。 4枚目に累計シートとしてB2~B5にVLOOKUP関数にて各シートの合計を求めたい。 同様な質問ばかりで申し訳ありません。この質問を最後にします。

  • VLOOKUP関数を使いたいのですが

    エクセル2002です。  「出荷」という名前のシートと「金額」という名前のシート、2つのシートがあります。  金額シートのA列には、商品の名前(例:りんご)が300行ぐらい入力されていて、B列には、その商品の値段が入力されています。A1には「りんご」B1にはその値段「100円」と入力されているとします。  「出荷」シートには、お客様に渡す領収書を入力してあります。  出荷シートのE10のセルに商品名「りんご」と入力すると、その下のE11のセルに、「金額」シートのB列に入力してある値段「100円」が、VLOOKUP関数で表示されるようにしたいです。  よろしくお願いします。  もし出来ないようであれば、なぜ不可能なのかも教えていただけるとありがたいです。