- ベストアンサー
エクセルの文字列検索
こんにちわ。 「リスト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 ×
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=IF(SUMPRODUCT((LEFT(A2,LEN(リストB!$A$1:$A$100))=リストB!$A$1:$A$100)*1),"○","×") リストB!$A$1:$A$100は実際のリストの範囲に合わせてください。
その他の回答 (3)
[No.2回答に対するお礼]に対するコメント、 》 mshr1962さんの回答でできた… そうでしたか。私が試した限りでは「広島県呉市×××7-8-9」も結果は○になったのですが、貴方が解決されたのなら、私が間違っているわけです。よって、私は回答するのを断念します。
- imogasi
- ベストアンサー率27% (4737/17069)
例データ 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のように明確にして質問したほうが良い。
1.「リストA」の○○、△△、あるいは×××より 右側の部分はお示しのとおり、必ず全角数字で始 まると考えてOKですか?全角、半角支離滅裂で すか? 2.「リストA」の○○、△△、あるいは×××およ びそれより左側の部分はお示しのとおり、必ず全 角漢字だけ、かつ、カナや記号は含まれていない と考えてOKですか?あるいは支離滅裂ですか?
お礼
さっそくありがとうございます。 1.全角、半角支離滅裂なのです 2.必ず全角漢字だけかつ、カナや記号は含まれていないです 宜しくお願いします。 mshr1962さんの回答でできたのですが、他にも解決方法があれば勉強になるので教えていただきたいです。
お礼
さっそくありがとうございます。 できました! SUMPRODUCTという関数を知らなかったので勉強しようと思います。 ありがとうございました!