Excelでアスタリスクやパーセンテージを使ってファイルを検索する方法

Excelでアスタリスクやパーセント記号を迷わずに検索する方法

Excelで*や%などの記号を検索するのは、意外と面倒な作業です。通常の検索を試しても、何も表示されなかったり、何も見つからなかったりした経験がある方は、あなただけではありません。Excelは*と?をワイルドカードとして扱うため、文字どおりの記号を検索すると、うまくいかないことがあります。記号がすぐそこにあっても、まったく結果が返されないこともあります。少し奇妙に感じるかもしれませんが、いくつかのコツを知っていれば、対処できます。このガイドでは、データや数式を調べる際に、こうした扱いにくい記号を見つけるのに役立つ、いくつかの回避策を紹介します。セルにアスタリスクやパーセンテージを含むデータがあり、それらを見つけたりフィルター処理したりしたい場合は、これらのヒントが、推測やデータセットの書き換えを回避するのに役立ちます。

Excelで*または%を検索する際の検索問題を解決する方法

検索と置換でチルダ(~)エスケープ文字を使用する

ご存知の通り、この問題を解決する最も簡単な小技があります。検索ダイアログで「~*」と入力すると、Excelはそれを「任意のテキストに一致する」ではなく「リテラルのアスタリスクを検索する」と認識します。パーセンテージの場合も同様で、通常通り「%」と入力してください。ただし、アスタリスクの場合はチルダを含めることが重要です。チルダがないと、Excelはワイルドカードを検索していると認識します。これを行うには、次の操作を行います。- Ctrl + Fキーを押します(検索と置換ダイアログを開きます)。-アスタリスクを検索する場合は「 ~*」 、パーセンテージの場合は「%」と入力します。- 「すべて検索」をクリックすると、ワイルドカードの動作を無視して、Excelがすべての一致を一覧表示します。私の経験では、設定によっては一度で完了しますが、他の設定ではExcelを一度閉じて再起動するか、検索を再適用する必要があるかもしれません。もちろん、Excelの検索の奇妙さは、ルールに厳密に従っているわけではありません。

数式ベースの検索にSUBSTITUTE関数を適用する

これはちょっとオタクっぽい回避策ですが、記号が数式の中に埋もれている場合や、簡単な検索以上のことをしたい場合には有効です。基本的には、アスタリスクまたはパーセント記号を、パイプ | や一意のコードなど、検索しやすいものに置き換えて、ワイルドカードが混乱しないようにします。要点は次のとおりです。 – データの横に新しいヘルパー列を挿入します。 – =SUBSTITUTE(A1, "~*", "|")(リテラルなアスタリスクを検索する場合)のような数式を使用します。 – この数式をすべての行にドラッグします。 – 次に、Ctrl + Fを押して|を検索します。 元の記号を置き換えたので、ワイルドカードの混乱なしに、これらの厄介なインスタンスをすべて見つけることができます。 この方法はより手動ですが、記号や数式が多数含まれるデータセットでは、手間を大幅に省くことができます。信じてください、これは完璧ではありません。記号がデータ内に既に存在する場合、置き換えが難しい場合がありますが、適切なフォールバックです。

ISNUMBER関数とSEARCH関数を組み合わせて論理チェックを行う

* または % を含むセルをフィルターまたはフラグ付けしたい場合は、この組み合わせが役立ちます。 –=ISNUMBER(SEARCH("~*", A1))アスタリスクに使用します。 – 該当する記号が含まれている場合は TRUE を、含まれていない場合は FALSE を返します。この数式を下にドラッグし、TRUE でフィルターすると、該当する記号を含むすべてのセルを簡単に抽出できます。特に、これらのセルを後で体系的に識別または処理したい場合に便利です。

自動検索のためのVBAマクロ

大規模なデータセットを扱っている場合や、このチェックを常に繰り返す必要がある場合、マクロは救世主となる可能性があります。複雑ではありませんが、Visual Basic for Applications(VBA)を開く必要があります。簡単な例を以下に示します。 – Alt + F11キーを押してVBA を開きます。 – 新しいモジュールを挿入します。 – 次のようなコードを貼り付けます。 vba Sub FindAsterisk() Dim cell As Range For Each cell In ActiveSheet. UsedRange If InStr(1, cell. Value, “*”, vbTextCompare) > 0 Then cell. Interior. Color = vbYellow ‘Highlights found cell End If Next cell End Sub – マクロを実行すると、すべての行がアスタリスクで強調表示されます。これを他のシートでも実行するか、% 記号を検索するように調整してください。完璧ではありませんが(速い場合もあれば、不安定な場合もあります)、大規模なデータセットでは手動で検索するよりも優れています。

Excelで実際のアスタリスクを検索する方法

これはよくある問題です。Excelがワイルドカードとして扱う文字「*」をどうやって見つければいいのでしょうか?簡単です。先頭に「~」を付けるだけです。- 「検索と置換」Ctrl + F)を開きます。- 「検索する文字列」ボックスに「 ~*」と入力します。- 「すべて検索」をクリックします。すると、文字「アスタリスク」を含むセルだけが見つかります。同様に、%記号はワイルドカードではないので、書式設定によって混乱しない限り 、 「%」を直接検索してください。

検索が期待どおりに機能しないのはなぜでしょうか?

ほとんどの場合、Excel のワイルドカードが効きすぎているか、検索範囲が限られていることが原因です。非表示のセル、フィルターされたデータ、または書式の不一致も問題になります。「すべて検索した」と思っても何も表示されない場合は、大文字と小文字の区別が有効になっているか、現在のシート内でのみ検索しているかどうかを確認してください (オプションでシートではなくブックをクリックしてください)。また、Excel が特殊文字でバグを起こし、再起動や設定のリセットが必要になる場合もあります。黒魔術が関係している場合は、フィルターをオフにするか、非表示の行/列を表示するか、検索範囲を「シート」から「ブック」に切り替えて元に戻してみてください。場合によっては、すべてを二重チェックするだけで済むこともあります。これらの回避策が時間と労力の節約になることを願っています。大量のデータを扱っていて、これを頻繁に行う必要がある場合は、VBA を使用した自動化を検討してください。イライラがかなり軽減されます。

まとめ

  • リテラルのアスタリスクを検索するには、検索で~*を使用します。
  • 一括検索の場合は、SUBSTITUTE を使用してシンボルを一時的なマーカーに置き換えます。
  • =ISNUMBER(SEARCH("~*", A1))フラグとフィルターを組み合わせます。
  • VBA マクロは、大規模なタスクや定期的なタスクに役立ちます。

まとめ

これらのトリックはどれも癖がありますが、たいていは*や%記号を見つけるのに十分です。Excelのワイルドカードは常に私たちを緊張させますが、チルダエスケープ、数式、マクロについて知っていれば、頭を悩ませる必要はなくなります。ただし、Excelはリテラル記号に関しては必ずしも単純ではないため、試行錯誤が必要になる場合もあることを覚えておいてください。この方法が誰かの時間を節約してくれることを願っています。