質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

解決済

1回答

621閲覧

EXCEL 複数の検索ワードで一致したワードを返却するには?

King_of_Flies

総合スコア382

0グッド

0クリップ

投稿2018/07/10 01:25

エクセルで下記のようなデータが存在します。

A列

神奈川県あああ市
神奈川県あああ市
あああ(神奈川)
東京都あああ区
東京都あああ区
埼玉県あああ
あああ秋田

B列
神奈川
東京
埼玉
秋田

やりたいことはC列に何らかの関数を埋め込み、
B列の一覧からA列の一覧に対して検索し、
A列にB列と一致する文字列があれば
B列の内容をC列に書き込むような処理です。

C列の結果としては
神奈川
神奈川
神奈川
東京
東京
埼玉
秋田

となるようにしたいです。

よろしくお願いします。

VLOOKUPなど調べましたが、
このような結果が返ってくるような処理が作れませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

A列のデータ(文字列)に、B列のデータ(文字列)が含まれるかどうかを調べるときには、FIND関数を使います。

FIND(探す文字列、ある文字列)が、整数を返せば、"探す文字列"は、"ある文字列"の"返り値"番目の文字のところにあります。
エラーになったら、"ある文字列"は、"探す文字列"を含んでいません。エラーかどうかは、iserror関数で判断します。

関数ではVBAマクロのように繰り返し処理ができませんから、地道にB列の文字列を探していくような関数式になります。

以下の式は、「1行目は項目名に使われるであろうから、データは2行目から入っている」と想定した、C2セルに入れる式です。 ("データは2行目から入っている"というのは、B列なら、B2:B5のセルに、神奈川、東京、埼玉、秋田、が入っているという意味です)

=IF(ISERROR(FIND($B$2,A2)),IF(ISERROR(FIND($B$3,A2)),IF(ISERROR(FIND($B$4,A2)),IF(ISERROR(FIND($B$5,A2)),"",$B$5),$B$4),$B$3),$B$2)

上の式が入ったC2セルをコピーして、C3:C8にペーストすれば、C2:C8に
神奈川
神奈川
神奈川
東京
東京
埼玉
秋田
と表示されるはずです。

投稿2018/07/10 01:56

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

King_of_Flies

2018/07/10 03:58

すごく面倒でしたが、できました・・・・。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問