- ベストアンサー
エクセルで「あいまい検索」を行いたい。
皆さん おねがいします。 エクセルで顧客管理を作成してます。 検索を行うとき、顧客の名前を指定したいのですが、 顧客のデータには正式名称を入力してあります。 検索の時、例えば 「株式会社あいうえおインターナショナル」 を探すに 「あい」を入力すると 「あい」を含むリストが表示され、その中から 「株式会社あいうえおインターナショナル」をクリックすると 所定のセルに入るような仕組みを作りたいのですが、 教えてください。 顧客情報は Sheet3 にあり、 入力管理は Sheet1 検索管理は Sheet2です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sheet3のA列に顧客名があるとして、G列にでも =IF(ISERROR(FIND(Sheet2!D$5,A1)),"",ROW()) と入れて下フィル、Sheet2のD5の文字を含む場合は行番号、含まなければ空白を表示させておきます。 Sheet2のD7には、 =INDEX(Sheet3!A:A,SMALL(Sheet3!G:G,ROW(A1)),1) といれて下フィルすれば、D5の文字含む顧客名がずらずら表示 B5には、入力規則で D7以下の何行かを設定 B5で、正式な顧客名が表示されるので、選択してOK 後、住所などは、VLOOKUP関数で、検索値にB5を指定すれば情報が表示される。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
大きく、あいまい検索というが、あいまい検索という表現が質問者の推定レベルから「あいまい」なようです。 補足あたりでは先方前方一致の検索で良いようではありますが。 ワイルドカード、正規表現などをWEBで照会し、出てきた記事で数個を読んで自分はどの程度のものを望んでいるのか考えて、再質問することを勧めます。 関数では抜き出しは難しいのです。 #2のご回答がその片鱗を示しています。 ーー 私はワイルドカードを使えるSERCH関数ぐらいを使って、該当候補分の空き列の行にサインをたて(作業列)、imogasi方式(注)で抜き出す方法を勧めています。 (注)Google等WEB照会で「imogasi方式」で照会すると私が過去に 回答した、条件抜き出しの回答例が相当数出ます。そこには#2のご回答の系譜の難しい式も載った回答も載ってます。 == >「あい」を含むリストが表示され この仕組みはVBAの中級の技量がないと出来ないでしょう。 したいことを言うは勝手ですが、相当勉強してからにしてください。 そうでないと、他人に作ってくださいと言うことになるじゃないですか。
- onntao
- ベストアンサー率32% (108/332)
一から十までとなると相当な労力になりそうですね ご自身ではどこまでできていますか? あるいはどの部分で行き詰まっていますか?
お礼
検索管理のSheet2内のあるセル、 B5に顧客名を入れたいのです。 しかし、正式名称は分からないときに セルD5に「あいうえ」と入れたら セルD7以降に「あいうえ」を含む顧客一覧がでればいい。 そのなかから チョイスしたら セルB5に入力されると考えてます。
お礼
ありがとうございました。 ちゃんとできました。 =IF(ISERROR(FIND(Sheet2!D$5,A1)),"",ROW()) が味噌ですね。 驚きました。 ありがとうございました。