フィルターしたい文字の検索


次のようなデータがあったとします。特定の列を、特定のデータだけで絞り込むには、オートフィルタが便利です。多くのExcelユーザーが愛用しているこのオートフィルタも、Excel 2010では拡張されました。

たとえば「住所」のオートフィルタ矢印ボタンをクリックすると、次のようなリストが表示されます。

[検索]というボックスが追加されています。ここに、任意の文字列を入力することで、下のリストに表示される候補を絞り込めるようになりました。

上図は"東京"で絞り込んだ結果です。[検索]ボックスに文字列を入力すると、基本的には「部分一致」と認識されるようです。たとえば、[検索]ボックスに"中"と入力すると、"中"を含む候補が表示されます。

そのまま[OK]ボタンをクリックすれば、フィルタが完了します。簡単になりましたね。

「名前」列を使って、もう少し詳細に見てみましょう。先に書いた通り、[検索]ボックスは基本的に「部分一致」と認識されます。では「○で始まる」や「×で終わる」と指定するには、どうしたらいいのでしょう。そんなときはワイルドカードを使います。「え?ワイルドカードって何?」という人は、自分で調べてください。ネットで検索すれば解説しているサイトが見つかるはずです。

ただ"田"だけを入力すると、これは「田を含む」と認識されます。

「田で始まる」と指定するには"田*"と入力します。

同様に「田で終わる」でしたら"*田"です。

「3文字の名前で、2文字目が田」は、"?田?"とします。

この[検索]ボックスは、数値を絞り込むことも可能です。

もちろん数値でも、ワイルドカードを使えます。

今までの[テキストフィルター]-[特定の値を含む]と似た機能ですので、これを多用していたユーザーには朗報でしょう。

ただし、数値データを対象にした[数値フィルター]では[特定の値を含む]が使えませんでしたので、数値を文字列のように絞り込むには、今回追加された[検索]ボックスが便利ですね。

この[検索]ボックスは、オートフィルタだけでなく、テーブルとピボットテーブルでも使用できます。

*や?を検索するには

データの中に「*」や「?」が含まれていて、これらの文字で絞り込むにはどうしたらいいでしょう。

普通に"*"や"?"を入力すると、ワイルドカードと認識されてしまいます。

Excelではこんなとき「~(チルダ)」を付けて指定します。これは、セルの検索や置換でも使えるテクニックです。

○○からを意味する「~」ではなく、半角の「~」です。「先頭から2文字目が"?"」は、"?~?*"とします。

最初の「?」はワイルドカードで、任意の1文字を表しています。次の「~?」は"?"という文字を指定したことになり、最後の「*」が「その後ろはどんな文字が何文字でも可」という意味になります。

ちょっとした不満

この機能、けっこう便利だと思います。できれば、正規表現とかAnd/Or指定ができたら、さらに強力だと思いますけど。

ただ、使っていて、ほんのちょっとだけ不満に感じた部分があります。Excel 2007から、オートフィルタで絞り込んでいるとき、オートフィルタ矢印ボタンにマウスポインタを合わせると、どんな条件で絞り込んでいるかがポップアップされるようになりました。

では、今回追加された[検索]ボックスを使って、「住所」が「中を含む」で絞り込んでみましょう。

ポップアップには「"横浜市中区, 東京都中央区, 東京都中野区"に等しい」条件で絞り込まれていると表示されます。確かにその通りなんですけど、私は「中を含む」で絞り込んだんです。少なくとも、そう意識して、それを目的に操作しました。確かに、その結果はポップアップされている通りなのですが、このポップアップ表示から、私が意図した「中を含む」という条件を導くことは難しいでしょう。

ええ、わかっています。今回の[検索]ボックス機能は、候補を絞り込むための機能で、ワークシート上のリストを直接絞り込むための機能ではありません。ですから、仕様的に間違っていないと理解しています。間違ってはいませんが、ユーザーとしては「中を含む」で絞り込んだという経緯を、どこかで確認したいです。たとえば、もう一度オートフィルタ矢印ボタンをクリックしたら、前回の[検索]ボックスが残っているとか。

今のままでも十分満足ですが、強いて不満をあげるのなら、そこんとこ、どうにかできませんかね?って感じです。