電子書籍の厳選無料作品が豊富!

教えてください。
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となった

その他にもいくつか意図するものと違う表示がされてしまいました。

原因と解決方法を教えて下さい。
宜しくお願いします。

A 回答 (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から指定してください。
    • good
    • 0
この回答へのお礼

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

おかげさまで、無事できました。
ありがとうございました。

お礼日時:2006/02/27 18:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!