- 締切済み
EXCELでの複数語検索
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mu2011
- ベストアンサー率38% (1910/4994)
編集→検索で検索する文字列に単語間を「*」で連結すれば可能ですが如何でしょうか。 但し、単語指定順に左右されますのでご注意下さい。
- mshr1962
- ベストアンサー率39% (7418/18948)
セルの先頭から255文字までしか対応しませんが...こんな方法もあります。 「書式」「条件付き書式」で 「数式が」「=COUNTIF(セル,"*言語1*")*COUNTIF(セル,"*言語2*")」 として書式を押して塗りつぶしパターンを選択する。 言語を別セルで用意して =COUNTIF(セル,"*"&$A$1&"*")*COUNTIF(セル,"*"&$B$1&"*")」 のように参照しても可能です。 ※セルは塗りつぶすセルのセル座標を相対参照で入れてください。
お礼
教えて下さって本当にありがとうございます。 早速やってみました。 初めて使う機能でしたがいろいろ試しながら、該当するセルの色を変える方法で試してみました。 該当箇所が一目瞭然でとてもわかりやすいです。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 以下をアドインにすることは可能だと思いますが、アドインの場合は、ユーザーフォームを加工したりするほうがよいでしょうね。 ただし、こんな検索は出来ません。第一検索語が「あい」で、第二検索語が「あ」の場合は、重複してしまいますので、出来ません。また、常識的にほとんどすべてのセルに存在するものを、第一検索語には入れないほうがよいです。完全にデバッグが終わったわけではありませんが、一応、こちらではうまく出来ています。 '標準モジュールに入れてください。 '------------------------------------------------------- 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
お礼
教えて下さって本当にありがとうございます。 質問の投稿後、数時間でこんな回答をいただけるなんてビックリです。 VBAというものだと思いますが、どうしていいのか分からない状況で、 すぐにはどうしていいのか分かりませんが、何とか調べて試してみます。 先ずは、お礼まで。
- rin01
- ベストアンサー率43% (33/76)
こんばんは~♪ >かなりの文書を入れる場合もあるのですが 1つのセルに、入っているのでしょうか? その場合の具体例を提示されて >複数の単語を同時に満たすセルを検索したいのですが 検索して結果をどう表示すれば良いかも 表を提示された方が良いと思います。 回答で無くすみません。。。Rin~♪♪
お礼
投稿ありがとうございます。アドバイスありがとうございます。 質問が正確でなくてすいません。 1.文書量についてですが、1案件には、いくつかの項目があり、 「記入者」,「記入日時」等々あって、日報の本文は列幅50のセル にどんどん文書を入力し、高さが409を超えるようなら、下のセル に続きを記入しています。 2.検索結果の表示の件ですが、過去に同じような案件があったかどう かを調べたいケースですので、該当箇所をどんどん探して行ければ 十分です。 「編集→検索」で、空白で区切って複数語の指定が出来て、その語 を全て含むセルを検索出来ればいいのですが・・・。 宜しくお願いいたします。
関連するQ&A
- EXCELでの文字列検索
EXCELで複数のシートにまたがっての文字列検索をおこなう方法はないのでしょうか?またできれば複数のブックにまたがった場合でもできればありがたいのですが.. 以前は1-2-3で同様のことがやりたかったのでその時はアドインソフトを購入したのですが、できればフリーの ソフト等でそういったことができないかと思っています。 どなたかご存知の方教えて下さい。
- ベストアンサー
- オフィス系ソフト
- エクセルのブック内での検索について
仕事においてエクセル(エクセル2000)で毎日日報を記入しております。(1日1ページ) 1月で31ページになるのですが、例えば「工場」という単語のあるページを全て吸い上げて表示できるような検索機能はありますでしょうか? また1年で12冊のファイルになるので、その中からブック内の単語に検索をかけることはできますでしょうか? もし関数が必要なのであればそれも教えてください。 お願い致します。
- 締切済み
- その他(ビジネス・キャリア)
- 複数のエクセルファイルから特定の語を含む行を抽出したい
エクセルで作成した複数の部品リストがあります。 特定の単語(型番)を含む行を抽出して、その行だけ集めたリストを作成したいのですが、そのような便利なツールはありませんか。 できあがるファイルはエクセルでもテキストでも構いません。 部品リストファイルは膨大な数があるので、ファイル毎そのツールにかけるのではなく、フォルダを指定して一気に処理できるとありがたいです。
- ベストアンサー
- オフィス系ソフト
- エクセルを複数人で同時編集したい。
エクセルで25000行を超え、多数の数式も入っているファイルがあり、そのファイルを複数人で同時に編集できる方法があれば、教えてもらえないでしょうか。誰かが使用していると仕事が先に進まないため時間のロスにもなり非常に困っております。 エクセルのように管理できるならほかのツールでもいいかと思っています。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- エクセルの同一シート内の複数データ検索
エクセルについての質問です。ある一つのシート内にある異なった複数の数字や文字列を一度に検索することは出来るのでしょうか?また検索された結果のセルに色をつけることは可能でしょうか?
- 締切済み
- オフィス系ソフト
- 複数のXLSファイルのうち、特定のセルだけに注目して文字列を検索したい
複数あるExcelファイルの中から、特定の文字列が存在するファイルを検索して、そのファイル名を取得するというマクロを作成しています。 この検索時、検索するのはファイル全体ではなく、1シート目のこのセルというのを明示したいのですが、そのような方法はありますでしょうか? また、ファイルを明示的に開かないようにもしたいです。 簡単になら、FileSearchがありますが、これはどうやらフォルダまでは指定できますが、セルの場所までは指定できないみたいです。 ファイルをオープンにすると、可能でしょうけどそうなると処理が重くなりそうです。 また、ファイル全体を検索すると、いくつもの単語が引っかかる可能性があるので不可能です。 各単語を配列に格納して、どの単語と一致するのか調べ、一致した場合そのファイルと検索単語の配列が、同じ番号になるようにソートする、方法となります。 どのような関数を使ったら可能なのか、ヒントだけでもお教えいただけないでしょうか。 よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- エクセルで「あいまい検索」を行いたい。
皆さん おねがいします。 エクセルで顧客管理を作成してます。 検索を行うとき、顧客の名前を指定したいのですが、 顧客のデータには正式名称を入力してあります。 検索の時、例えば 「株式会社あいうえおインターナショナル」 を探すに 「あい」を入力すると 「あい」を含むリストが表示され、その中から 「株式会社あいうえおインターナショナル」をクリックすると 所定のセルに入るような仕組みを作りたいのですが、 教えてください。 顧客情報は Sheet3 にあり、 入力管理は Sheet1 検索管理は Sheet2です。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルの検索
エクセル2000を会社で使用しています。 ある顧客一覧をエクセルで作成していて、ある行が データ抽出時、使い勝手が悪くなり、 もともと1つだったセルのデータを2セルに分けて 入力するようにしたところ、編集→検索ツールで ひらがなやカタカナでも文字が検索できたのに、 セルを分けたとたん、完全一致でなければ検索ヒット しなくなってしまいました。 もちろん、検索のオプション項目の完全一致には チェックはいれておりません。 検索できるように、改善する方法はないでしょうか?
- ベストアンサー
- Windows XP
- エクセルからGoogle検索
エクセルの複数のセルに入っているテキストで それぞれのGoogle検索を一気に行う、ということは可能でしょうか? A1 「モバイル パソコン」 A2 「パソコン GPS」 A3 「NTT GPS」 と各セルに入力されていたとして、 「モバイル パソコン」「パソコン GPS」「NTT GPS」 とそれぞれのGoogle検索を一度に行い、 別々のウィンドウで検索結果を開き、検索結果を比較したいのです。 検索語が少なければ、手動で行っても時間はかからないのですが、 多数の検索語のパターンで検索するため、一度にできる 方法はないかなあ、と悩んでいます。 テキストの入力されているソフトはエクセルでなくても良いのです。 困っています! よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
教えて下さって本当にありがとうございます。 早速やってみました。感動です! 「単語指定順」を気をつけながら役立たさせていただきます。