• 締切済み

EXCELでの複数語検索

ご存知の方がいらしたら教えて下さい。 EXCELで日報の管理を指定ます。かなりの文書を入れる場合もあるのですが、複数の単語を同時に満たすセルを検索したいのですが、何かいいアドインツールなどありますでしょうか? EXCELの検索が、複数語に対応してくれればいいのですが・・・

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

編集→検索で検索する文字列に単語間を「*」で連結すれば可能ですが如何でしょうか。 但し、単語指定順に左右されますのでご注意下さい。

QYV03224
質問者

お礼

教えて下さって本当にありがとうございます。 早速やってみました。感動です! 「単語指定順」を気をつけながら役立たさせていただきます。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

セルの先頭から255文字までしか対応しませんが...こんな方法もあります。 「書式」「条件付き書式」で 「数式が」「=COUNTIF(セル,"*言語1*")*COUNTIF(セル,"*言語2*")」 として書式を押して塗りつぶしパターンを選択する。 言語を別セルで用意して =COUNTIF(セル,"*"&$A$1&"*")*COUNTIF(セル,"*"&$B$1&"*")」 のように参照しても可能です。 ※セルは塗りつぶすセルのセル座標を相対参照で入れてください。

QYV03224
質問者

お礼

教えて下さって本当にありがとうございます。 早速やってみました。 初めて使う機能でしたがいろいろ試しながら、該当するセルの色を変える方法で試してみました。 該当箇所が一目瞭然でとてもわかりやすいです。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 以下をアドインにすることは可能だと思いますが、アドインの場合は、ユーザーフォームを加工したりするほうがよいでしょうね。 ただし、こんな検索は出来ません。第一検索語が「あい」で、第二検索語が「あ」の場合は、重複してしまいますので、出来ません。また、常識的にほとんどすべてのセルに存在するものを、第一検索語には入れないほうがよいです。完全にデバッグが終わったわけではありませんが、一応、こちらではうまく出来ています。 '標準モジュールに入れてください。 '------------------------------------------------------- Sub FindDoubleWords()  '第一語、第二語検索  Dim c As Range  Dim fstFind As String  Dim sndFind As String  Dim myFadd As String  Dim myAdd As String  Dim u As Range  Dim n As Variant    fstFind = Application.InputBox("第一検索語を入れてください。", Type:=2)  If fstFind = "False" Or fstFind = "" Then Exit Sub  sndFind = Application.InputBox("第一検索語を入れてください。", Type:=2)    If sndFind = "False" Or sndFind = "" Then Exit Sub  If InStr(fstFind, sndFind) > 0 Then   MsgBox "第一検索語: " & fstFind & " が、第二検索語: " & sndFind & vbCrLf & _   " に等しいか、充当される場合、その語の検索は出来ません。", vbInformation, "検索エラー"   Exit Sub  End If    Set c = ActiveSheet.UsedRange.Find( _           What:=fstFind, _           LookIn:=xlValues, _           LookAt:=xlPart, _           SearchOrder:=xlByRows, _           SearchDirection:=xlNext)  If Not c Is Nothing Then   myFadd = c.Address   myAdd = c.Address   Do    Set c = ActiveSheet.UsedRange.FindNext(c)    If c.Address = myFadd Then Exit Do    myAdd = myAdd & "," & c.Address   Loop Until c Is Nothing  End If  On Error Resume Next   For Each n In Split(myAdd, ",")    If u Is Nothing Then     Set u = Range(n)    Else     Set u = Union(u, Range(n))    End If   Next n  If Err.Number > 0 Then MsgBox "エラーが発生していますので検索できません。", vbCritical: Exit Sub  On Error GoTo 0 '第二検索  Set c = u.Find( _           What:=sndFind, _           LookIn:=xlValues, _           LookAt:=xlPart, _           SearchOrder:=xlByRows, _           SearchDirection:=xlNext)    If Not c Is Nothing Then   myFadd = c.Address   c.Activate   If MsgBox("次を検索しますか?", vbOKCancel) = vbCancel Then Exit Sub   Do    Set c = u.FindNext(c)    If c.Address = myFadd Then Exit Sub    c.Activate    If MsgBox("次を検索しますか?", vbOKCancel) = vbCancel Then Exit Sub   Loop Until c Is Nothing  End If End Sub    

QYV03224
質問者

お礼

教えて下さって本当にありがとうございます。 質問の投稿後、数時間でこんな回答をいただけるなんてビックリです。 VBAというものだと思いますが、どうしていいのか分からない状況で、 すぐにはどうしていいのか分かりませんが、何とか調べて試してみます。 先ずは、お礼まで。

  • rin01
  • ベストアンサー率43% (33/76)
回答No.1

こんばんは~♪ >かなりの文書を入れる場合もあるのですが 1つのセルに、入っているのでしょうか? その場合の具体例を提示されて >複数の単語を同時に満たすセルを検索したいのですが 検索して結果をどう表示すれば良いかも 表を提示された方が良いと思います。 回答で無くすみません。。。Rin~♪♪

QYV03224
質問者

お礼

投稿ありがとうございます。アドバイスありがとうございます。 質問が正確でなくてすいません。 1.文書量についてですが、1案件には、いくつかの項目があり、   「記入者」,「記入日時」等々あって、日報の本文は列幅50のセル   にどんどん文書を入力し、高さが409を超えるようなら、下のセル   に続きを記入しています。 2.検索結果の表示の件ですが、過去に同じような案件があったかどう   かを調べたいケースですので、該当箇所をどんどん探して行ければ   十分です。   「編集→検索」で、空白で区切って複数語の指定が出来て、その語   を全て含むセルを検索出来ればいいのですが・・・。 宜しくお願いいたします。

関連するQ&A

  • EXCELでの文字列検索

    EXCELで複数のシートにまたがっての文字列検索をおこなう方法はないのでしょうか?またできれば複数のブックにまたがった場合でもできればありがたいのですが.. 以前は1-2-3で同様のことがやりたかったのでその時はアドインソフトを購入したのですが、できればフリーの ソフト等でそういったことができないかと思っています。 どなたかご存知の方教えて下さい。

  • エクセルのブック内での検索について

    仕事においてエクセル(エクセル2000)で毎日日報を記入しております。(1日1ページ) 1月で31ページになるのですが、例えば「工場」という単語のあるページを全て吸い上げて表示できるような検索機能はありますでしょうか? また1年で12冊のファイルになるので、その中からブック内の単語に検索をかけることはできますでしょうか? もし関数が必要なのであればそれも教えてください。 お願い致します。

  • 複数のエクセルファイルから特定の語を含む行を抽出したい

    エクセルで作成した複数の部品リストがあります。 特定の単語(型番)を含む行を抽出して、その行だけ集めたリストを作成したいのですが、そのような便利なツールはありませんか。 できあがるファイルはエクセルでもテキストでも構いません。 部品リストファイルは膨大な数があるので、ファイル毎そのツールにかけるのではなく、フォルダを指定して一気に処理できるとありがたいです。

  • エクセルを複数人で同時編集したい。

    エクセルで25000行を超え、多数の数式も入っているファイルがあり、そのファイルを複数人で同時に編集できる方法があれば、教えてもらえないでしょうか。誰かが使用していると仕事が先に進まないため時間のロスにもなり非常に困っております。 エクセルのように管理できるならほかのツールでもいいかと思っています。 よろしくお願いいたします。

  • エクセルの同一シート内の複数データ検索

    エクセルについての質問です。ある一つのシート内にある異なった複数の数字や文字列を一度に検索することは出来るのでしょうか?また検索された結果のセルに色をつけることは可能でしょうか?

  • エクセルでの単語検索

    エクセルで複数の特定の単語を検索して、検索した単語を削除する操作方法を知りたいのですが、どのようにして行えばよいか教えてください。

  • 複数のXLSファイルのうち、特定のセルだけに注目して文字列を検索したい

    複数あるExcelファイルの中から、特定の文字列が存在するファイルを検索して、そのファイル名を取得するというマクロを作成しています。 この検索時、検索するのはファイル全体ではなく、1シート目のこのセルというのを明示したいのですが、そのような方法はありますでしょうか? また、ファイルを明示的に開かないようにもしたいです。 簡単になら、FileSearchがありますが、これはどうやらフォルダまでは指定できますが、セルの場所までは指定できないみたいです。 ファイルをオープンにすると、可能でしょうけどそうなると処理が重くなりそうです。 また、ファイル全体を検索すると、いくつもの単語が引っかかる可能性があるので不可能です。 各単語を配列に格納して、どの単語と一致するのか調べ、一致した場合そのファイルと検索単語の配列が、同じ番号になるようにソートする、方法となります。 どのような関数を使ったら可能なのか、ヒントだけでもお教えいただけないでしょうか。 よろしくお願い致します。

  • エクセルで「あいまい検索」を行いたい。

    皆さん おねがいします。 エクセルで顧客管理を作成してます。 検索を行うとき、顧客の名前を指定したいのですが、 顧客のデータには正式名称を入力してあります。 検索の時、例えば 「株式会社あいうえおインターナショナル」 を探すに 「あい」を入力すると 「あい」を含むリストが表示され、その中から 「株式会社あいうえおインターナショナル」をクリックすると 所定のセルに入るような仕組みを作りたいのですが、 教えてください。 顧客情報は Sheet3 にあり、 入力管理は Sheet1 検索管理は Sheet2です。 よろしくお願いします。  

  • エクセルの検索

    エクセル2000を会社で使用しています。 ある顧客一覧をエクセルで作成していて、ある行が データ抽出時、使い勝手が悪くなり、 もともと1つだったセルのデータを2セルに分けて 入力するようにしたところ、編集→検索ツールで ひらがなやカタカナでも文字が検索できたのに、 セルを分けたとたん、完全一致でなければ検索ヒット しなくなってしまいました。 もちろん、検索のオプション項目の完全一致には チェックはいれておりません。 検索できるように、改善する方法はないでしょうか?

  • エクセルからGoogle検索

    エクセルの複数のセルに入っているテキストで それぞれのGoogle検索を一気に行う、ということは可能でしょうか? A1 「モバイル パソコン」 A2 「パソコン GPS」 A3 「NTT GPS」 と各セルに入力されていたとして、 「モバイル パソコン」「パソコン GPS」「NTT GPS」 とそれぞれのGoogle検索を一度に行い、 別々のウィンドウで検索結果を開き、検索結果を比較したいのです。 検索語が少なければ、手動で行っても時間はかからないのですが、 多数の検索語のパターンで検索するため、一度にできる 方法はないかなあ、と悩んでいます。 テキストの入力されているソフトはエクセルでなくても良いのです。 困っています! よろしくお願いいたします。

専門家に質問してみよう