プロが教える店舗&オフィスのセキュリティ対策術

accessかExcelで類似検索はできますか?

accessで単語の類似検索はできますか?
たとえば、「パイナップル」と「ハイナップル」のように一文字だけ違う単語とか
「パイナップル!」のように特定の文字列が付加されている単語を検索したいのです。
VBAを使ったやり方でもよいので教えていただけないでしょうか。

A 回答 (3件)

文字列の類似度を表すレーベンシュタイン距離というのをAccessのクエリで使ってみた事があります。


「パイナップル」と「ハイナップル」なら1になりますので、ユーザー定義式の結果が1になるレコードを抽出といった形で使えます。一文字だけの相違ならすっきりとした結果が出ますが、何文字か異なっていると、なかなか思った通りにはいかなかった記憶があります。
レーベンシュタイン距離 VBAで、下記がヒットしましたので、ご参考に載せておきます。
http://pub.ne.jp/arihagne/?entry_id=2781916
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
結構難しそうですが、やりたいことができそうな感じです。
トライしてみます。

お礼日時:2010/07/24 13:03

こんにちは!


当方使用のExcel2003の場合の一例です。
↓の画像で説明させていただきます。
作業用の列を1列設けています。

作業列B2セルに
=IF($D$1="","",IF(ISNUMBER(FIND($D$1,A2)),ROW(),""))

という数式を入れ、オートフィルで下へずぃ~~~!っとコピーします。

そして、E3セルに
=IF(COUNT(B:B)<ROW(A1),"",INDEX(A:A,SMALL(B:B,ROW(A1))))

という数式を入れ、オートフィルで下へコピーしています。

これでD1セルに検索したいものの1文字でも入力し、確定すると
その文字が含まれるA列のデータが表示されるはずです。

以上、参考になればよいのですが・・・m(__)m
「accessかExcelで類似検索はでき」の回答画像3
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
説明不足だったようで失礼しました。
私がやりたいことは、「6文字中5文字が一致する単語など」です。
「パイナップル」「パイナツプル」「パイナップス」とか「パイナップル」に似ているような単語を検索したいと思っています。

お礼日時:2010/07/24 13:05

ワイルドカード検索ですね。



http://office.microsoft.com/ja-jp/access-help/HP …

検索および検索して置換の操作でワイルドカード文字を使用する

に詳しく書かれています。

例えば、
『?イナップル』で検索すれば、
パイナップルとハイナップルは引っかかります。

正規表現とはちょっと違いますが、MSOffice系のソフトでは、みな同じです。
具体的な検索文字がわかりませんので、ご自分でトライしてみることを
おすすすめします。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
説明不測だったようです。「6文字中5文字が一致している単語」などを検索したいと思っています。何文字目が異なるかはわからないので恐らくワイルドカードでは無理だと思います。
もしご存知でしたら教えていただけると助かります。

お礼日時:2010/07/24 13:02

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