• ベストアンサー

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

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

  • 71063
  • お礼率62% (94/150)

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 >シートの列には有るのですが、 見た目が同じでも、実際は違うということもあります。 EXCELでは、大文字と小文字は区別されませんが、全角と半角は区別されます。 また、 「O」(アルファベットの半角大文字のオー)と「0」(数字の半角ゼロ) 「l」(アルファベットの半角小文字のエル)と「1」(数字の半角イチ) は見た目が似ているので勘違いする可能性もあります。 さらに、末尾にスペースがある場合も、やはり見た目に気付きにくいです。 あと、No.1の方も指摘していますが、検索値(工種コード)が数字の場合、見た目がまったく同じでも、数値として入力されたか、文字列として入力されたかが異なると上手く検索出来ません。 今一度データをよく確認して下さい。 あと、工種コードの表の該当するデータをコピーして、B5に貼り付けてもエラーは出ますか? これも確認して下さい。 なお、No.2の方の昇順かどうかは、VLOOKUP関数の第4引数が「FALSE」であるので、関係がありません。 (昇順で並んでいる必要はありません。)

71063
質問者

お礼

ありがとございます >あと、工種コードの表の該当するデータをコピーして、B5に貼り付けてもエラーは出ますか? これも確認して下さい。 でやると出てきました 解決しました 今後ともよろしくお願いします

その他の回答 (3)

  • HageoyaZ
  • ベストアンサー率38% (60/154)
回答No.4

VLOOKUP関数の#N/Aエラーは 検索値を"FALSE"にした場合であれば、検索値と同じデータがないことが原因です。 と補足してみました。

回答No.2

一応再チェックを・・・ 工種コードは、昇順に並んでいますか?

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> =VLOOKUP(B5,工種コード!$C$2:$D$129,2,FALSE) よくあるのは、B5に入力されている値が工種コードシートのC列に存在しなかった場合です。 値が数字のみの場合、数値と文字列の違いなどによって発見されない場合もあります。

71063
質問者

補足

早速の回答ありがとございます 回答の >B5に入力されている値が工種コードシートのC列に存在しなかった場合です。 シートの列には有るのですが、そのほかに何か 原因がありますでしょうか あれば、すいませんが教えてください

関連するQ&A

  • 【エクセル】VLOOKUPが上手くいきません。。。

    VLOOKUP関数がうまくいかないので教えてください。 下のような表になっています。    A     B    C    D    E    F 1  番号  名前               コード 2 11-2345  ABC  11  #N/A  11  あああ 3 22-3456  DEF  22  #N/A  22  いいい  4 33-4567  GHI  33   #N/A  33  ううう 5 44-5678  JKL  44        44  えええ 6 ・・・・ ・・・               55  おおお 7 ・・・・ ・・・               66  かかか A、B列はがもとから打ち込んであるデータです セルC2は =LEFT(A2,2) でA列のハイフンの前を表示しています。 セルD2に =VLOOKUP(C2,$E$2:$F$7,2,FALSE) を入れると#N/Aが表示 されます。ちなみに、セルC2にLEFT関数ではなくて、数字をそのまま、 11と入力すると、セルD2に「あああ」と表示されます。どこがいけない のでしょうか? $E$2:$F$7はC列の二桁の数字に対応するコードの表になっています。 エクセル2003を使っています。

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

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

  • ExcelでのVLOOKUP関数について

    キー1を1000倍したうえで完全一致のVLOOKUP関数を使うと#N/Aエラーが発生します。 表示上は同じように見えますが内部的に異なる値となっているのでしょうか? 試しにエラー行に対して、キーとターゲットとなる当該セルを「=」でつないで確認しても「TRUE」となります。 添付画像は、 検索先としてA列に基準キーを130.168~130.192(step 0.001)で各行へ入力し、B列はA列を1000倍、C列はB列をROUND関数で整数値に丸めたものをキーとしました。 D列にVLOOKUPで参照する値を入力し、E列以降で以下の異なるパターンで値を参照しています。 (1)【E・F列】 ・E列に整数値をキーとして130168~130192(step 1)で入力。 ・E列をキーとしてB~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,B:D,3,FALSE)』 (2)【G・H列】 ・G列にE列/100をキーとして計算。 ・G列をキーとしてA~D列のVLOOKUP関数としています。   『=VLOOKUP(G3,A:D,4,FALSE)』 (3)【I列】 ・E列をキーとしてC~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,C:D,2,FALSE)』 シートを複製し、キーの入力範囲を0.001~0.025(E列は1~25)にした場合はエラーがでませんでした。 その他の確認としてはTEXT、JIS、ASCなどを組み合わせて文字列としたキー同士のVLOOKUPではエラーにならず値を参照できています。

  • VLOOKUPのエラーについて

    教えて下さい。 =IF(ISERROR(VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE)),"",VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE))+IF(ISERROR(VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)),"",VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)) という数式を使っています。 最初のIF文(Shee2)については有効なのですが、それならと、欲張って他のシートも参照できるように、+の後にIF文(Sheet3)を追加したら#VALUE!が表示されます。 何がいけないのでしょうか?

  • 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)が出てしまいます。 どなたかアドバイスいただければ嬉しいです。 よろしくお願いいたします。

  • エクセルのVLOOKUP関数について

    エクセルのVLOOKUP関数を使用しての集計に関する質問です。 以下の例のような場合の関数が分からず本当に困っております。 どなたかご享受いただけたら幸いです。 よろしくお願いいたします。 毎月サポート費としてお客様ごとに定額が振り替えられ、その集計表を作成しております。 その際振替に使用するプランが2パターンあり、その月どちらのプランになるかは月によってまちまちです。 (同じお客様でも3月はパターン1、4月はパターン2だったりします。) また、振替日は使用するパターンによって異なります。 SHEET1に、 A列 B列 C列 D列 顧客名 金額 振替日 パターン名 という表があり顧客ごとの過去2年分の振替履歴が、1000レコード程並んでいます。 SHEET2でSHEET1の月ごとの集計を出そうと考えております。 表自体は月ごとに分けて作成したいので、表の上部に該当期間をつけます。下記のような感じです。 B2セル C2セル D2セル ○月 開始日 末日 (ex2月) (ex.11/2/1) (ex.11/2/28) A列:顧客名 B列:パターン名 C列:振替日 D列:金額 と並べ、顧客名ごとに、その月のパターン名・振替日・金額を集計したいです。 金額に関しては、SUMIFS関数、振替日に関しては使用パターンさえ出せれば、IF関数で出せると考えています。 パターン名のところでつまづいてしまっています。 行いたいこととしては、SHEET1のA列からD列(顧客名からパターン名まで)の範囲で、顧客名が一致したときに、振替日を抜き取り、振替日がC2(月初日)より大きく、かつD2(月末日)より小さいときのパターン名を表示させたいです。 (1)---------------------------------------------------- =IF(VLOOKUP(A3,sheet1!$A$2:$D$1000,3,FALSE)>$C$2,IF(VLOOKUP(A3,sheet1!$A$2:$D$1000,3,FALSE)<$D$2,(VLOOKUP(A3,sheet1!$A$2:$D$1000,4,FALSE)),"")) といれると、表示されるきちんとパターン名が表示されるセルと空白が返ってきてしまうセルがあります。 空白が返ってきてしまうセルは、双方の顧客名の最後の1文字を消す、スペースを入れる、など何かしら手を加えるときちんと表示されます。 ------------------------------------------------------ その他、VLOOKUP関数、IF関数、ISNA関数などを組み合わせて色々と試してみましたが期間がうまく指定出来ていないようで、当月に振替履歴のない顧客の欄にもパターンが返ってきてしまいます。 下記を教えていただきたいです。 (1)(1)のような状態になる理由と解決法 (2)この場合に使用するのに最適な式 説明が長くなり、またうまく状況を説明できず申し訳ございません。 本当に困っています。ご回答よろしくお願いいたします。

  • (再)VLOOKUP関数のエラーについて

    4/28にNo.9165193で質問し、データ不足にもかかわらず、複数の方からご回答をいただきましてありがとうございました。回答者の方からデータの不備をご指摘いただき、図を添付して再度質問をさせていただきます。Excelは2010です。よろしくお願いいたします。 sheet1は、コードを入力したら品名を表示するようにしたいのです。sheet2にはコード表があります。sheet2のコード表を参照して、sheet1の品名を表示させる形式にしたいと思っています。コードはA~Eと1~5です。コードAの場合、エラーとなり品名が表示されません。(sheet1のB3、B13、B14)  sheet1のC3の関数式は、=VLOOKUP(B3,コード一覧!$B$3:$C$13,2)です。C3以下はB列のセルが下に移動します。 以下は説明が重複しますが、図を添付するのは初めてで心配なので、念のため文章を付け加えます。 sheet1のB3 に「コード」、C3に「品名」、B3~B15までコードをランダムに入力しています。 コードを入力すると、C3~C15に品名が表示される。(表の作成時はブランク) sheet2のB1 に「コード一覧」、B3に「コード」、C3に「項目」、B4~B13は上から「A~E、1~5」、C4~C13は上から「キャベツ、レタス、白菜、小松菜、じゃがいも、りんご、みかん、もも、ぶどう、レモン」と入力しています。

  • エクセルVLOOKUPについて質問です

    同じブック内で業者一覧のシートにA列業者コードB列業者名が入っています。 別のシートでE列に業者名を入れるとD列にコードが入る様に =VLOOKUP(E6,業者一覧!$A$2:$B$480,1,FALSE) と入れました。#N/Aのエラーが出てしまいます。 この関数の使い方は間違っているのでしょうか? 以前似たような物を作った時は、VLOOKUPを使って簡単に検索できたのに、 今回は色々参考にしてみましたが、私が理解しきれていないのか、 エラーが出る要素が他にあるのか分からず質問します。 よろしくお願いします。

  • VLOOKUP関数のエラーについて

    ExcelでVLOOKUP関数を使って表を作成しようと思っています。コードを入力することによって、品名を表示させるようにしたいのですが、今までVLOOKUP関数は使ったことがないので、練習用として簡単な表を作成しました。コードはアルファベットA~Eと、数字1~5を使っています。コードが数字の場合は品名が正しく表示され、アルファベットの場合はAだけがエラーとなります。別の表で試したところ、やはりコードがAのものだけがエラーになります。なぜAがエラーになるのか理由がわかりません。 何が原因なのか、どうすれば正しく表示されるのかを教えていただきたく、よろしくお願いいたします。

  • エクセル2003VLOOKUP 検索値が数式の場合

    検索値が数式(表示形式がパーセンテージ)になっているものを IFとVlookupで処理しようとしたところ、エラーがでてしまいます。(#N/A) 例:C2が検索値。結果下記式の結果をD2に表示。100%以上の場合はすべて100%と表示。 A2  B2  C2      D2 50  40  B2/A2(%で表示) =IF(C2>=100%,100%,VLOOKUP(C2,他のシートの表の範囲,2,FALSE)) 100%の部分については問題なく表示されますが、 VLOOKUPで検索するデータが(100%以下)が表示されません。 検索値(C2)を値で貼り付けすると、問題なく表示されますが、 数式はそのままのこしてD2に表示することは可能なのでしょうか。 ちなみにD2も%表示です。 どなたかお分かりの方がいらっしゃれば教えていただけますと幸いです!

専門家に質問してみよう