• 締切済み

似たような言葉を検索したい

似たような言葉を検索したいです。 仕事で、各拠点から在庫や売り上げ商品のデータを集計をしているのですが問題があります。 各店舗が送ってくる商品名称が微妙にバラバラのため、検索やフィルターをかけてもうまくいきません。 例としては、 A店舗からは商品名称「プラネタリ ギヤ」 B店舗からは商品名称「プラネタリ ギア」 C店舗からは商品名称「プラネタリー ギア」 D店舗からは商品名称「プラネタリィ ギア」 D店舗からは商品名称「フラネタリ ギヤ」 のように、微妙に異なる名称でデーターを入力してきます。 そのためこちらが正式な名称(今回は「プラネタリ ギヤ」)で検索しても一店舗しか検索にかからず、集計に困っています。 たとえば「プラネタリ ギヤ」と検索すれば、似たようなワードを検索してくれる機能はあるのでしょうか? また、そのような機能は無いけど、マクロなどで出来るよ!って言う事があればロジックとかヒントを教えてください。 お願いします。

みんなの回答

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.7

>たとえば「プラネタリ ギヤ」と検索すれば、似たようなワードを検索してくれる機能はあるのでしょうか? データ処理を機械化するには人間の脳でアナログ処理と同じにはできません。 質問と補足の内容からは人間のアナログ的な判断要素を要求しているように見られます。 各拠点からの報告フォームを予め作成し、数値のみ報告させる方法をとらなければ目的を達成できないでしょう。 >「プラネタリ リングなどのしたの文字が異なる」、「共通のワードが毎回違ってきて探せないのですよ」 後出しジャンケンのように回答に対する予測外の追加条件を出されては全てが否定されそうでアドバイスが困難になるでしょう。 報告のスタイルを定めることから始めると良いでしょう。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.6

No5の補足回答です。 完全に類似用語を検索できるとは限りませんが、ワードの文書校正の機能を利用すれば、似たような用語を検索して、用語を統一することが可能です。 ご使用のOfficeソフトのバージョンが記載されていないので2007のケースで説明すると、エクセルのデータ(商品名に部分)をコピーし、ワードの新規文書に貼り付け、校閲タブの「スペルチェックと文書校正」から表記ゆれチェックで修正候補の中から統一したい用語にを選択して「すべて修正」してください。 このデータをコピーしてエクセルに貼り付ければ用語を統一することができます。 ただし、今回のケースでは「フラネタリ ギヤ」は表記ゆれではヒットしませんので注意が必要です。 実戦的には、オートフィルタのテキストフィルタで「プラネタリ」を含む「OR」「フラネタリ」を含むの条件で絞り込んで、統一したいデータを上下にオートフィルコピーしてエクセルの機能で統一するのが最も効率的な操作になるのではないかと思います。 #Officeソフトはバージョンによって使用できる機能や操作方法が大きく違いますので、質問の際には必ずバージョンを明記するようにしましょう。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

>今回のは、あくまで例であって、プラネタリ リングなどのしたの文字が異なる商品もありますから、一概に「プラネタリ」だけでは検索が出来ないのですよ・・・ 実際に皆さんの回答を試していないようなので、再度回答しますが、エクセルの検索のデフォルトは部分検索なので、「プラネタリ リング」でも「プラネタリ」が含む用語はヒットすることができます。 >たとえば「プラネタリ ギヤ」と検索すれば、似たようなワードを検索してくれる機能はあるのでしょうか? 入力用語の基準が全く不明なら、実際に違う商品名でもヒットしてしまうことになるので、このような検索はできないのは検索機能として当然のことです。 入力文字の基準があるなら(要するに、検索の基準を文章で表現できるなら)、パソコンで処理することが可能です。 例えば先頭文字が「フ」または「プ」でその後「ラネタリ」と続き、何らかの文字があって「ギア」または「ギヤ」と続く文字列なら、ワードの検索機能を使って(ワードに貼り付けで)検索・置換することもできます。 もちろん、この場合でも「プラネタリ リング」のような上記の基準にないデータはヒットしませんから、検索の基準がないとご希望の操作はできないということになります。

回答No.4

>似たようなワードを検索してくれる機能はあるのでしょうか? アプリケーションは、Excelだと思いますが、ローカルバージョンには、隠れたあいまい検索機能はあっても、そこまでの機能はありませんね。 もともと、データベースやVLOOKUPに組んであればよかったのですが、以下のような例では、VBAでも辞書用意するなどをしないと不可能です。ただ、辞書を作る手間を考えたら、量が多い場合は、気が遠くなるほど時間が掛かります。ワイルドカードというか、正規表現パターンを利用してさえも、以下のような、「プ」と「フ」を同一視するような、パターンを単語ごとに作るのは、大変なことです。もちろん、その場合は、VBAマクロですが、どこかにアドイン・ユーティリティはあったような気がしますが、正規表現パターン置換が、それほど簡単ではないはずです。Perl形式で、VBScript形式ではありませんから、VB系の人には、すぐに作れません。そもそも、パターンを作るの自体面倒です。 例えば、 検索値:[プ|フ]ラネタリ[ー|ィ|イ]*[ |\s]*ギ[ア|ヤ] 置換値:プラネタリ ギア [ |\s] の左側は全角スペース もちろん、インターネット検索などに使われている Namazu なら可能だと思います。 http://www.namazu.org/windows/index.html.ja たぶん、Apacheでサーバーを組んでPerl が必要なはずです。 しかし、私は、表計算で、同じような置換をし、商品の統計処理を何年もやってきたのですが、 例えば、以下のような場合、 「プラネタリ ギア」←基本的には、これをベースにして、4つコピーする 「プラネタリ ギア」 「プラネタリー ギア」 「プラネタリィ ギア」 「フラネタリ ギヤ」 名称の項目をソートを掛けて、それを目視で、一番上から、もしくは正しい名称に、上書きコピーをするのです。慣れれば、数千件ぐらいなら、1時間ちょっとで出来るはずです。もちろん、その作業をマクロでするという方法もないとは言えませんが、万が一を考えると自信がありません。なお、コピーする場合は、VBAマクロですと、後戻り(Undo)がききません。失敗した時に戻れるようにするためにマクロは使わないようにします。

  • ryo_ky
  • ベストアンサー率47% (112/237)
回答No.3

検索手法としてはNo.2の回答者様のようにワイルドカードを使うのが一番容易だと思います。 もしくはVBAを組み合わせれば、できそうな気がしますが、検証はしていないので、参考程度になればと思います。 先ずフィルタで商品名の重複しないレコードでリストを作ります。このリストにはプラネタリ ギヤ、プラネタリ ギア、プラネタリー ギア、プラネタリィ ギア、フラネタリ ギヤといった名前が重複しない状態になっていると思います。このリストは別シートのA列に入れるとします。 今度はこのリストで似た名称の同一商品を定義付けします。例えば質問文にあるギアを統一して同じ名称の言葉に置き換えるという事です。これをB列に入力します。 つまりブック上ではシート1に集計しないといけないデータ、シート2にはA列に置換前の名前、B列に置換後の名前を入れてある状態になっています。 あとはVBAでシート1に対してシート2の名前に置き換えていけば、シート1の名前が統一されるので、SUMIFとかで合計が出せると思います。 この方法はリスト化と置換後の名前を入力する必要があるので最初の苦労が大きいですが、後々にまで使用できることと名称が増えてもその分を追加するだけで対応ができると思います。 ただ、質問にある「検索方法」でなく、置換しちゃっているので満足いく回答ではないかもしれません。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

例示のデータをすべて検索するなら、検索する文字列にすべての文字列に共通する「ラネタリ*ギ」と入力して検索してください(半角の*は適当な文字列を意味しています)。

elkheart
質問者

補足

回答ありがとうございます。 店舗によって商品入力名が異なるので、共通のワードが毎回違ってきて探せないのですよ・・・

  • enylle
  • ベストアンサー率15% (61/391)
回答No.1

「プラネタリ」で検索すれば全部出る。

elkheart
質問者

補足

回答ありがとうございます。 今回のは、あくまで例であって、プラネタリ リングなどのしたの文字が異なる商品もありますから、一概に「プラネタリ」だけでは検索が出来ないのですよ・・・

関連するQ&A