VLOOKUP関数の問題と解決方法

このQ&Aのポイント
  • VLOOKUP関数を使用して、A列の中からB列の言葉を拾ってC列に変換したいが上手くいかない
  • VLOOKUPで検索した結果が意図しないように表示される原因と解決方法を教えてください。
  • VLOOKUP関数を使ってA列の中にB列の言葉を含むデータをC列に変換したいが、正しく表示されない問題の解決方法を教えてください。
回答を見る
  • ベストアンサー

VLOOKUP関数

教えてください。 A列のようなデータの中から、B列の言葉を拾って、C列のように変換したいのですが、VLOOKUPだけでは、うまく変換されません。 A列            B列    C列 白山市 旧美川     加賀      206 金沢市北部       金沢      201 能美市          小松      203 金沢市中心部      野々市     344 輪島市中心部      能美      211 羽咋郡          羽咋市     207 加賀市          羽咋郡     382 野々市町        白山      210  ・            輪島      204   完全一致ではなく、A列の中にB列の言葉を含んでいたら、C列のように変換させたいです。 VLOOKUPで検索値をA、範囲をBC列の項目のある範囲、列数を2で、検索の型は何も入れずにしましたが、以下のようになりました。 いつかの項目は正しく認識された。(白山市・金沢市他) 能美市は211と表示させたいのに、382となった 羽咋郡は♯N/Aとなった 野々市町は344と表示させたいのに210となった その他にもいくつか意図するものと違う表示がされてしまいました。 原因と解決方法を教えて下さい。 宜しくお願いします。

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

  • ベストアンサー
  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.1

VLOOKUPではムリだと思います( たぶん ) A列・B列・C列のデータが 2行目から始まっていて、 B列・C列のデータは 10行目まであるとします。 D列に結果を表示させるなら、 D2: -------------------------- =IF(A2="","",IF(SUMPRODUCT(COUNTIF(A2,"*"&B$2:B$10&"*")),INDEX(C$2:C$10,SUMPRODUCT(COUNTIF(A2,"*"&B$2:B$10&"*")*ROW(A$1:A$9))),"")) -------------------------- と入れ、必要なだけ( A列のデータ分 )下にフィルコピーしてください。 ↑の式をそのままコピペ。 貼り付けるときは、形式を選択して貼り付け~テキスト 最後の ROW(A$1:A$9) の A$1:A$9は、B・C列の行数です。 2行目から10行目にデータがあるので計9行、A$1:A$9としています。 1行目から20行目にデータがあるなら A$1:A$20 3行目から50行目にデータがあるなら A$1:A$48 のように何行目から始まっていても必ず A$1から指定してください。

tamako1111
質問者

お礼

お返事が遅くなってしまい、大変申し訳ございません。 業務が多忙でなかなかお礼をかきこめませんでした。。。 おかげさまで、無事できました。 ありがとうございました。

関連するQ&A

  • 石川県で4穴ファイル売っているところを教えてください

    石川県で4穴ファイルを売っている場所が見つかりません. 事務キチやスーパーにはなかったと思います. 知っている方はお願いします. できれば,能美,小松,白山,野々市,金沢周辺でお願いします.

  • 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関数について教えて下さい

    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関数で#N/A エラーが出ます

    同じように60行ほど、コピーしたのですが、k列の2行目とl列の3行目だけが#N/Aになります。試しに、検索の型のところを1にしてみたら、他の語になります。 ちなみに、k列の2行目とl列の3行目は対応する語なのです。 いろいろと調べているのですが原因がわかりません。 これを元に多数のデータを処理したいと思っているので困っています。 1部だけを見て判断できにくいと思いますが、アップしにくいのでどうしたらよいかわかりません。 何か手がかりでも教えていただけたらと思います。よろしくお願いします。     k列                  l列 =VLOOKUP(B16,$A$16:$F$20,5,0)    =VLOOKUP(C16,$A$16:$F$20,6,0) =VLOOKUP(B17,$A$16:$F$20,5,0) #N/A =VLOOKUP(C17,$A$16:$F$20,6,0)  =VLOOKUP(B18,$A$16:$F$20,5,0)    =VLOOKUP(C18,$A$16:$F$20,6,0)  #N/A  =VLOOKUP(B19,$A$16:$F$20,5,0)    =VLOOKUP(C19,$A$16:$F$20,6,0) =VLOOKUP(B20,$A$16:$F$20,5,0)    =VLOOKUP(C20,$A$16:$F$20,6,0)

  • VLOOKUP関数についての質問です。

    VLOOKUP関数についての質問です。 例えば、シート1に、 A列    B列  C列 番号  品物  送り先 1   ばなな スーパー 2   ミカン 学校 3   イチゴ ケーキ店  あるとします。 VLOOKUP関数を用いて、 シート2に A列    B列 送り先  品物 ・   ・ ・   ・ ・   ・ とそれぞれ入力したいとして、以下のセルも同様の式を使い入力しますが いちいち式を立てて入力していくと大変です。 セルにVLOOKUP関数をコピーして使うにはどうしたらいいですか?? お願いします。

  • 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関数?

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

  • Vlookupのような関数について

    Vlookupにて、下記にある文字シートにあるB列の文字を、都道府県シートのB列に挿入する場合、以下のような関数を利用すればよいかとおもいます。 =vlookup(A1,数値シート:$A$1:$B$4,2,false) そこで、文字シートのA列とB列が入れ替わった場合(キーとなる列が左端では無い場合)はどのような関数にすれば良いのでしょうか? ※文字シートのAとBを入れ替えてというのは無しでお願いします。 都道府県シート A列 B列 埼玉県 東京都 神奈川県 山梨県 文字シート A列 B列 山梨県 あいう 東京都 かきく 神奈川県 なにぬ 埼玉県 さしす

  • VLOOKUP関数 、住所、 部分一致 (困っています。至急即応頂けると助かります)

    初歩的な質問で申し訳ございません。 御存じの方いらっしゃいましたら、ご教授頂きたく思います。 ただいまVLOOKUP関数を使い、A列の住所に対応するコードを K列・L列の元の表と対応させながら、、B列に振ると言う作業をしております。      A                  B       K        L  1 横浜市港南区○町1-2-1             地区       コード  2 横浜市金沢区△町1-2-3            横浜市緑区    横浜A  3  横浜市都筑区□町4-5-7            横浜市港南区  横浜B                                横浜市金沢区  横浜C                                            A列とK列の値が完全一致(吻合)している場合は、上手くいくのですが、 上記のようにA列は全住所でK列が住所の一部と言うように、両者の値に齟齬  がある場合、検索方法を「TRUE」にしても、 ワイルドカードを使っても、Bに適   確なコードをふることができません。  また複数の関数を駆使し、新たな関数を拵えるほど、エクセルに通暁しておりま せん。  解決法がありましたら、何卒お教え下さい。期限が切迫している状況です。  宜しくお願い申し上げます。

  • VLOOKUP関数で検索できません

    A列に勤務時間帯、B列に人数を入力したリストがあります。 E1にVLOOKUP関数を入力しましたがエラーになるので困っています。 A1 → 8:00~18:00  B1 = 5 A2 → 9:00~19:00  B2 = 7 D1 → 8:00~18:00 E1 → =VLOOKUP(D1,A1:B2,2,0) チルダを抜くと検索できるようになりますが、 VLOOKUP関数でチルダは使えないのでしょうか。 チルダありでも検索できるうまい方法があれば教えて下さい。

専門家に質問してみよう