• ベストアンサー

エクセルの文字列検索

こんにちわ。 「リストA」と「リストB」があります。 「リストA」から「リストB」の中の前方一致で文字列検索し、「リストA」が「リストB」にあれば結果として「○」をなければ「×」をだしたいのですが、☆にどういった関数を入力すればいいでしょうか?vlookupだと完全一致しか出来ないので悩んでいます。宜しくお願いします。 ◆前◆ 「リストA」 住所            結果 ------------------------------------- 広島県安芸郡○○1-2-3 ☆ 広島県安芸郡△△4-5-6 ☆ 広島県呉市×××7-8-9 ☆ 「リストB」 住所         ------------------- 広島県安芸郡○○ 広島県安芸郡△△ 岡山県岡山市□□ 岡山県岡山市◎◎ ◆後◆ 「リストA」 住所            結果 ------------------------------------- 広島県安芸郡○○1-2-3 ○ 広島県安芸郡△△4-5-6 ○ 広島県呉市×××7-8-9 ×

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

=IF(SUMPRODUCT((LEFT(A2,LEN(リストB!$A$1:$A$100))=リストB!$A$1:$A$100)*1),"○","×") リストB!$A$1:$A$100は実際のリストの範囲に合わせてください。

noname#43713
質問者

お礼

さっそくありがとうございます。 できました! SUMPRODUCTという関数を知らなかったので勉強しようと思います。 ありがとうございました!

その他の回答 (3)

noname#204879
noname#204879
回答No.4

[No.2回答に対するお礼]に対するコメント、 》 mshr1962さんの回答でできた… そうでしたか。私が試した限りでは「広島県呉市×××7-8-9」も結果は○になったのですが、貴方が解決されたのなら、私が間違っているわけです。よって、私は回答するのを断念します。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

例データ aは広島県安芸郡○○のような文字列をさす。 A列 B列 C列 ab a ○ dfg b ○ bba c X s aa C1の式は =IF(COUNTIF($A$1:$A$5,"*" & B1 & "*")>0,"○","X") ワイルドカードは*a*でこたえてい増すが、質問では a* で良さそうですが、適当に変えてください。 A列はSheet1にあるなら $A$1:$A$5を Sheet1!$a$1:$a$5のように変えてください。 ーー リストというのはエクセルの専門用語なのだが、それなのか、一般名詞的に使っているのか判りにくい。別シートとはかぎらない。 Sheet1、Sheet2のように明確にして質問したほうが良い。

noname#204879
noname#204879
回答No.2

1.「リストA」の○○、△△、あるいは×××より   右側の部分はお示しのとおり、必ず全角数字で始   まると考えてOKですか?全角、半角支離滅裂で   すか? 2.「リストA」の○○、△△、あるいは×××およ   びそれより左側の部分はお示しのとおり、必ず全   角漢字だけ、かつ、カナや記号は含まれていない   と考えてOKですか?あるいは支離滅裂ですか?

noname#43713
質問者

お礼

さっそくありがとうございます。 1.全角、半角支離滅裂なのです 2.必ず全角漢字だけかつ、カナや記号は含まれていないです 宜しくお願いします。 mshr1962さんの回答でできたのですが、他にも解決方法があれば勉強になるので教えていただきたいです。

関連するQ&A