• ベストアンサー

Excel関数VLOOKUPについて

ExcelでVLOOKUP関数を使用して顧客コードから 顧客名 顧客住所を表示しようとしていますが 顧客コードがない場合でも顧客コードの近い顧客の データが出ます。    A      B         C          1 顧客コード  顧客名     顧客住所 2 0231234  安部       十日町 3 0331234   佐藤       五日町    4 0431234   山内       入谷      5 0431239   三浦       荒砥      6 0431250   須藤       新井田    D E 1 顧客コード 顧客名 2 0431240   三浦      と出ます E2のセルには =VLOOKUP(D2、A2:C6、2) 顧客コードがない値には顧客名など出ないよう するにはどうしたらいいのかお教えください。

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

  • ベストアンサー
  • Ryocchi
  • ベストアンサー率38% (38/98)
回答No.2

#1です。すいません。"false"を付けると、未登録の時には#N/Aとエラーがでます。 これを解消するには、 IF関数を組み合わせるのが良いと思います。 =IF(ISNA(VLOOKUP(D2,A2:C6,2,false)),"",VLOOKUP(D2,A2:C6,2,false))

aberoku
質問者

お礼

早速の回答ありがとうございました。大変助かりました。

その他の回答 (2)

回答No.3

補足 VLOOKUP関数にfalseを使った場合、元になる顧客コードのデータが小さい順に並んでいなくてもよいため、文字数字などでも利用できます。

aberoku
質問者

お礼

早速の回答ありがとうございました。大変助かりました。

  • Ryocchi
  • ベストアンサー率38% (38/98)
回答No.1

検索の型の引数に"false"を入れてみて下さい。 =VLOOKUP(D2,A2:C6,2,false)

関連するQ&A

  • VLOOKUP関数について教えて下さい

    Excel97を使用しています。 VLOOKUP関数を使って二つのデータを照合したいのですが、 A    B     C    D    E        コード|内容 |    |コード |内容 | 0001 |ああ |ああ  |0001  |ああ | 0002 |ああ |    |0002  |   | 0003 |   |    0|0003  |   | D,E列の範囲からA列のコードを検索かけたいのですが、 =VLOOKUP(A2,ひかく,2,0)        ↑       D,E列 だと内容欄に空欄が入っていると0になってしまいます。 0でなく空欄にしたい場合はどうしたらよいのでしょうか?

  • vlookup関数について

    vlookup関数について教えてください。    A       B         C      D      E        1  あじ    りんご     2  さば    みかん            3  さんま   ばなな        という内容で、D1セルに入力した内容に応じてE1セルに内容を転記させていました。 E1=VLOOKUP(D1$A$1$B3,2,FALSE) 上記で運用していたときはうまくいったのですが、 Cの列にも文字をいれ、E1セルにはCの内容を検索して、B列の内容を転記したいと 思って作りかえるとうまくいきません。 今回の新しいやり方では、 ・A列からの検索はいらない(でも他ファイルから参照されているので、削除、移動はできない) ・E1=VLOOKUP(D1$A$1$C2,2,FALSE)では #N/A となる ・A列からの検索がいらないから、E1=VLOOKUP(D1$B1$C2,1,FALSE) でも #N/A 調べてみたのですがわからなくて・・・ どこがおかしいのか、教えてください。宜しくお願いします。

  • VLOOKUP関数について

    VLOOKUP関数についてお尋ねいたします。 VLOOKUPで、下記のような事ができるでしょうか。 1 11 a 1 12 b 1 13 c 2 11 d 2 12 e 2 13 f 2の11を選択すると『d』を 引っ張ってくる。 よろしくお願いします。

  • Excel関数 VLOOKUPのことで質問です。

    いつもお世話になっております。 Excel関数のことで教えていただければと思います。     A     B     C   1   1   山田太郎   2   2   安部晋三 3   3   桑田真澄 上記のようなとき、C1のセルにVLOOKUPを使って山田太郎と安部晋三を表示したのですが、山田太郎安部晋三と表示されます。 この山田太郎と安部晋三の間にスペースを入れて、山田太郎 安部晋三と表示されるようにしたいのですが、どのようにすれば出来るでしょうか。 すみません。教えて下さい。 バージョンはExcel2000です。

  • エクセル関数2

    シート(1) A B C D 作業列    コード    顧客名     金額 3        300001     A 10,000 3        300002   B 15,000 3        300003   C 20,000 3        300004   D 25,000 3        300005   E 30,000 4        400001   F 35,000 4        400002   G 40,000  4 400003 H 45,000 4 400004 I 50,000 4 400005 J 55,000         シート(2) A B C D E F 「1」 「2」 「3」 「4」 「5」 「6」 10,000 35,000 15,000 40,000 20,000 45,000 25,000 50,000 30,000 55,000 ※ シート(1)にコード、顧客名、金額を入力すると、シート(2)にあるように該当するコードの先頭行の列に表示するようにしたいと思っています。 シート1で作業列を作りその作業列を基にシート2でVLOOKUP関数を使い‥シート2の10,000のセルの場合、 VLOOKUP(C$2,sheet1!$A$3,$D$12,4,false)として、下にコピーすると同じ金額になってしまいます。 セルが空白にならず、シート1の金額が上から順番にシート2に表記されるようにするにはどうしたらよいでしょうか。マクロはできませんので、関数で詳しく教えて下さい。宜しくお願いします。

  • エクセルの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関数を使用していて質問です。

    VLOOKUP関数を使用していて質問です。 A1からE10までサイズや商品コード商品名等が入っているとします。 A1のサイズに該当するものがあれば5列目(E列)の商品コードが出るようにしてあるのですが、A1のサイズが重なってきました。 つまり、A列には横幅、B列には高さ、C列には奥行きが入ってます。 今まで横幅100高さ100奥行き100しかなかったのですが、横幅100高さ100奥行き150のサイズが増えてきたというわけです。A1の100、B1の100、C1の100や、A2の100、A2の100、A3の150のように横・高さ・奥行きの三つがぴたりと合えばE列の商品コードが出るようにするにはどうしたらいいのでしょうか? VLOOKUP関数ではないような気がするのですが・・・。 よろしくお願いします。

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

    エクセルのVLOOKUP関数について。 教えて頂きたいです。 sheet2に商品マスターがあり、タイトルとしてセルA1に品目コード、B1に品名、C1に会社名、D1に県名、E1に個数と入力してあります。 sheet2のA2には111、B2にはいちご、C2にランド、D2に埼玉県D3に山梨県、E2に100個、E3に200個、E4に300個 と入力してあります。 sheet1のA2に111と入力し、B2にいちご、C2にランド、D2に埼玉県、D3に山梨県、E2に100個、E3に200個、E4に300個と表示させることは可能でしょうか? 県名に対して2個、個数を3種類持っているのです。出来ればVLOOKUP関数でお願いしたいのですが、他の関数でも構いません。 自分で色々検索し、下の行のセルの値を返す等の記事を見たのですが、いまいち理解できずにいます>< 尚、sheet2の商品マスターは作り直せず、手をつけることも出来ません。(私には権限がない為) sheet2の商品マスターのデータは膨大(約1400行)である為。 222(品目コード)、ぶどう(品名)、遊園地(会社名)、東京(県名)、50個(個数)、 333(品目コード)、みかん(品名)、ドーム(会社名)、千葉(県名)、100個(個数)、200個(個数) と、ぶどうは個数が1種類 みかんは個数が2種類 など、ランダムに商品マスターが作成してあります。 説明が下手ですみません><

  • VLOOKUP関数について

    VLOOKUP関数について教えていただきたいのですが、 数式が、=VLOOKUP(D2,Sheet2!A1:B132,2)で、結果も(例、”顧客名”)と正しく表示されているのですが、実際のセルに表示されるのは関数の数式で結果が表示されません。なにか表示の方法があるのでしょうか。officeは2003で、OSはXPです。お分かりのかた力を貸してください。

  • VLOOKUPで別ファイルから検索その3

    D7セルに下記のような数式を入れました。 =IF(D1="","",VLOOKUP(D1,'K:\資料\[名簿.xls]Sheet1'!$A$2:$F$10000,2,0)) 名簿.xlsは   A     B     C    D    E       F    G 顧客NO. 顧客名 フリガナ 住所 郵便番号 電話番号 備考 を入力した住所録なのですが、試しに5件分ほど作ってみたところ、うまくいきました。 ところが、実際に900件ほど作ってみたところ、D7セルに、#N/Aの表示が出てしまいます。 どうして件数を増やすと機能しないのでしょうか?

専門家に質問してみよう