• 締切済み

vlookupのあいまい検索を教えてください

A列 ああああ(ABAB) B列 5555-9878 C列 ああああ の場合、 AとCを同じものとみなし、 Bの同じ値を出したいのですが、どういう関数を入れたらよいでしょうか、困っているので教えてください!!!

みんなの回答

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.2

>AとCを同じものとみなし、 検索値を、”ああああ”としてセルC1にあるとすると セルD1に下記の数式を入力すると =VLOOKUP(D1&"*",A:B,2,0) ”ああああ”を含む一番上にあるB列の値が返ります。

sakko0917
質問者

お礼

上記で対応できました! 本当にありがとうございます(泣)

  • bass_001
  • ベストアンサー率75% (3/4)
回答No.1

ご質問の内容がいまいちクリアではありませんが まず Vlookup が検索するのは「範囲」の引数で指定した範囲の 一番左の列であること、この列が昇順(小さい順)になって いなければならないことをご確認ください。 いかえると以下のようになっていて  A B C 1 ああああ 123-4568 ああああ(ABAB) 2 いいいい 789-2345 いいいい(CDCD) 3 うううう 098-9876 うううう(EFEF) 4 ええええ 987-4567 ええええ(GHGH) 範囲にA1:C4 を指定しても vlookup が調べていくのはA列 だけだということです。 さて このような表がつくられているとき、 =vlookup("ああああ" , A1:C4 , 2,1) も =vlookup("ああああ(ABAB)" , A1:C4 , 2,1) も同じ答えが返ってきます。 最後の引数(検索の方法=1)が重要です。 ここを1にしておくとエクセルはA列を上からみていき 検索すべき値が(辞書配列で) "ああああ" 以降 "いいいい" 以前の 値であれば 1行目(”ああああ”の行)の2列目の値を返すという動きをするのです。 上記のことから いいいい と いいいい(XYZ) は同じ答えが返ってきますが いいい は ああああ と同じ答えが返ってくることになります。

sakko0917
質問者

補足

ありがとうございます。 ただ、検索穂方法を1にすると、全く違うセルの値を返すのですが どうしてでしょうか。。。 また、ご説明いただいた内容だと ああああ(abab) と ああああ<abab> を同じものと認識してくれないので、これはあきらめたほうが よいということでしょうか。 すみません。。。

関連するQ&A