• ベストアンサー

VLOOKUP関数について

シート1のA列の氏名を検索値とし、シート2の範囲を範囲とし、列番号5、検索の型FALSEとして シート1にシート2の検索値を表示させていますが、シート2にシート1の氏名がない場合は#N/Aのエラーが表示されます、これを 0 か ヌル で表示させる方法はありませんでしょうか。よろしくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

通常は検索値が無い場合には空白としています。その場合に式は例えば次のようにします。 シート2ではA列に氏名が入力されているとしてシート1の例えばB列に列番号5の値を表示させるのでしたらB1セルに次の式を入力して下方にドラッグコピーします。 =IF(OR(A1="",COUNTIF(Sheet2!A:A,A1)=0),"",VLOOKUP(A1,Sheet2!A:E,5,FALSE)) 氏名が無い場合に0と表示させるのでしたら次の式を入力します。 =IF(A1="","",IF(COUNTIF(Sheet2!A:A,A1)=0,0,VLOOKUP(A1,Sheet2!A:E,5,FALSE)))

hoshi7777
質問者

お礼

早速回答くださいましてありがとうございます。大変助かりました。

その他の回答 (1)

  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.2

=IF(ISERROR(VLOOKUP(A1,Sheet2!$A:$E,5,FALSE),"",VLOOKUP(A1,Sheet2!$A:$E,5,FALSE)); ISERRORを使う方法があります。 ISERRORの中のVLOOKUPがエラーならTRUE,正常ならFALSEが返りますから、 それをIFでエラーならヌルに、正常なら改めてVLOOKUPを表示するようにします。 VLOOKUPの式がエラー判定と表示で二重になるので式を編集する時には注意が必要ですし、 式が長くなるので見栄えが悪いですけどね。 これは、他の関数や式でもエラーを見せなくさせる応用のきく方法です。

参考URL:
http://www.relief.jp/itnote/archives/000426.php
hoshi7777
質問者

お礼

早速回答いただきありがとうございました。 ベストアンサーには最初の方を選ばせていただきました、申し訳ありません。 今後ともよろしくお願いいたします。

関連するQ&A

  • Vlookup関数で検索結果がエラーになってしまう

    お世話になります。 Vlookup関数の質問となります。 =VLOOKUP(C2,Sheet2!$A$2:$E$685,1,FALSE) 検索値  →リストを使用(元データはSheet2の指定したセル範囲の表の2列目のデータ) 範囲 →Sheet2の特定のセル範囲 列番号 →1(ここは100-01、100-02などの番号が入力されています) 検索方法 →false(完全一致) この式で「#N/Aエラー」が発生してしまいます。 単純に「氏名」から「社員番号」を引っ張りたいだけなのですが、 なんでエラーになるのでしょうか? 範囲に指定した表には空白行はありますが、書式設定などは特に問題はないです。 恥ずかしい質問なのは十分に理解していますが、 教えて頂きたく思います。 よろしくお願い致します。

  • VLookUp関数の使い方

    VLookUp関数で[検索の型]をFalseにすると、検索値と同じ値がないと エラーコード(#N/A)を返してきます。 検索値と同じ値がないときは、別の処理をしたいので、エラーコードではなく別の文字列を返してほしいですが、 できますか?

  • Q:エクセルのVLOOKUPで・・・

    VLOOKUPでご相談させてください。 VLOOKUP(検索値, 範囲, 列番号, 検索の型)で、検索の型の部分を FALSEに指定した場合、検索値 と完全に一致する値だけが検索され、 見つからない場合は エラー値 #N/A が返されますが、見つからない 時にそのエラー値#N/Aを表示させずに空欄にさせたいのですが、そん なときどうしたらいいですか? if(VLOOKUP(検索値, 範囲, 列番号, 検索の型)<>"#N/A","○","") ではダメでした。検査値一致の場合には○を、検査値がなければ空欄 としたい表を作成したいのです。 アドバイスお願いします。

  • エクセルのVLOOKUP関数で・・・

    3時間ほど色々頑張ったのですが、もうお手上げなので教えて下さい・・・。 エクセルでシートが2つあり、シート2から一致するデータのみをシート1に持って行きたいのです。 具体的にはシート1には「F列/カナ氏名・G列/漢字氏名・H列/顧客番号・I列/生年月日」が設定されています。 ただしH列には顧客番号が入力されていません。 シート2より生年月日をキーにして引っ張ってくる予定です。 シート1には1000件データがあり、シート2に載っている該当者が200件程ヒットする予定です。 シート2には「A列/生年月日・B列/カナ氏名・C列/漢字氏名・E列/顧客番号」が設定されています。 仮に1行目からデータが入っているものとして、シート1のH1のセルに次の式を入れました。 =VLOOKUP(I1,'シート2'!範囲,5,FALSE) 範囲には実際の範囲を指定し、5列目がシート2の生年月日なので合ってると思うのですが・・・。 エラーは#N/Aというのが出てしまいます。 何処に問題があるのか分かりません。 説明が下手かもしれませんが、分かる方教えて下さい!

  • EXCELのVLOOKUP関数について

    EXCELのVLOOKUP関数について教えてください。 例えばA1が○でC1が×のとき、その該当行の3列目を示す というような検索値を2つ満たすようなやり方は可能でしょうか? 範囲、列番号とも検索値1つに対応しているのでvlookup関数を並列することになるのでしょうか? 別の簡単な方法があれば教えてください。 わかりにくい質問で申し訳ございません。よろしくお願いします。

  • vlookupでコピーすると・・

    A列にコードナンバー。B列に商品名を出したく、 VLOOKUPでなんとか出来ました。 でも1行だけでは困るので、下の列にもコピーしたいのです。 検索値の後、範囲のところで、範囲設定し、すぐにF4を押し、 列番号2にして、OK。 B列をずずっと下にコピーすると #N/A  と出てきます。 これで、A列に数字を入れるとB列に商品名が入りますが、 #N/A がずっと見えていておかしいです。 これを見えなくする方法を教えて下さい。 上に書いた手順に間違いがあればぜひご指摘ください。 よろしくお願いいたします。

  • ExcelのVLOOKUP関数について

    VLOOKUP関数で「検索の型」をFALSE(完全一致)に設定すると一致する検索値がない場合、「#N/A」とエラー値がでますよね。 このときにエラー値でなく、「該当なし」または 空白を表示したいのですが、どういう処理が適切でしょうか。

  • VLOOKUPで

    Excel2000を使っています。 Sheet1のB列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,2,0)) Sheet1のC列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,3,0))を入れてあります。 Sheet2のA列にはコード番号、B列には氏名、C列には住所が入っています。 Sheet1のA列に番号を入力すると、B,C列に氏名、住所が表示される表を作りましたが、Sheet2にデータを追加したら番号を入力しても、追加したメンバーについては、エラー表示(#N/A)が出てしまいます。 コード番号は頭にゼロが付くので、Sheet1のA列は文字列、Sheet2はすべて文字列にしてあります。 最初はうまくいってたのですが、後から追加した分だけがエラーになります。他のリストからデータをコピーし、値のみを貼り付けてだめだったので、手入力してみたのですがやはりだめでした。検索範囲を超えていることは絶対にありません。 どうしてもわからないので、質問させていただきます。 心当たりございましたらよろしくお願いいたします。

  • マクロでVLOOKUP関数をつかいたいのですが

    エクセルでマクロを使ってVLOOKUP関数みたいなことを したいのですが(文章力が無くてすみません。) sheet1のセルb4を検索値にして、 sheet2のリストb3:C32を範囲に指定します 列番号は 2  検索の型ほ FALSE      です。 この値をsheet1のセル"O4"に表示させて、 なおかつ”O4:O33"までオートフィルで数式を入れたいときは どのようにマクロを組めばよいのでしょうか。 ほとんど初心者なのでマクロの記録を使ってやってみたのですが エラーになってしまい、うまくいきません。 他力本願で申し訳ないのですがどなたか詳しい方 ご回答をお願いいたします。

  • Excel関数「VLOOKUP」でエラーが出る理由

    質問させて頂きます。 ここに、ふたつの似通ったBookファイル(Book1、Book2)があると仮定します。 内容はふたつとも、2桁~5桁の数字が、A列に5000行くらいまで打ち込まれている物です。 (※正確に言うと、Book1には4500行、Book2には5000行、数字が打ち込まれています) 例) 22 278 599 8819 33119 70994・・・等(こういった内容が5000行くらいまで続きます) Book1とBook2の数字を突き合せ、重複がないかどうか調べたいのですが、 関数『VLOOKUP』で両ファイルを突き合わせようとすると、 なぜか、エラー値『#N/A』が出てきてしまいます。 ご存知の通り、エラー値『#N/A』は「値がない」という意味なので、 ある意味、「この数字は重複していない」という意味でも取れると思うのですが、 明らかに重複している数字に対しても、エラー値が出てきてしまうので、困っています。 おそらく、私の『VLOOKUP』での突き合わせ方法に原因があると思うのですが、 どこに原因があるのかがわかりません。 【私の突き合わせ方法】 (1).Book2のB列に「×」と書いたセルを挿入します。 (2).Book1のB列にVLOOKUPを使用し、下記のように設定します。   検索値:A1    範囲:[Book2]Sheet1!$A$1:$B$5000   列番号:2  検索の型:FALSE こうする事で、「重複していたら"×"を出す」という形にしようと思っていました。 しかしなぜか、すべて『#N/A』となってしまいます。 何度も言うようで大変恐縮ですが、「明らかに重複している数字」に対しても、 「×」ではなく、『#N/A』が出てきます。両数字は、セルの表示形式からなにからすべて一緒です。 エクセルの検索機能を使うと、ちゃんと検索結果に出てきます。にも関わらず『#N/A』が出るのです。 これにはどういった原因があるのでしょうか? ご回答、宜しくお願い致します。

専門家に質問してみよう