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となった
その他にもいくつか意図するものと違う表示がされてしまいました。
原因と解決方法を教えて下さい。
宜しくお願いします。
回答(1件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.1ベストアンサー20pt
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から指定してください。
この回答へのお礼
お返事が遅くなってしまい、大変申し訳ございません。
業務が多忙でなかなかお礼をかきこめませんでした。。。
おかげさまで、無事できました。
ありがとうございました。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示












