Excelでデータ検索や置換、抽出を行う際、ワイルドカードは非常に強力な機能として利用されています。
しかし、一部ワイルドカードが使用できない関数があることはご存じでしょうか。
例としてはFIND、EXACT、REPLACE、SUBSTITUTEなど、特定の関数ではワイルドカードが利用できず、思った通りの結果が得られないことがあります。
そこで、本記事では、ワイルドカードの基本概念から、ワイルドカードが使えない関数の一覧、そしてその回避策について、具体的な数式例や応用例を交えて詳しく解説します。
これにより、Excelの操作ミスを防ぎ、より精度の高いデータ管理が可能になります。
結論:ワイルドカードが使えない関数の克服法
Excelでは、検索や置換で「*」や「?」といったワイルドカードが非常に有効ですが、一部の関数はこの機能をサポートしていません。
これにより、意図した部分一致検索が行えない場合があり、データ抽出に支障をきたすこともあります。
しかし、補助列や配列数式、さらにはVBAを活用することで、ワイルドカードの制限を回避し、柔軟な検索や抽出を実現することが可能です。
正しい回避策を取り入れることで、Excelでのデータ管理の精度と効率は大幅に向上します。
ワイルドカードとは?その基本と活用方法
ワイルドカードは、文字列検索において任意の文字や文字列を表現する特殊文字です。
- 「*」:任意の文字列を表し、例えば「A*」は「A」で始まるすべての文字列に一致します。
- 「?」:任意の1文字を表し、例えば「B?C」は「B」と「C」の間に任意の1文字が入る文字列に一致します。
これらを活用することで、部分一致検索が容易になり、大量データの中から目的の情報を効率よく抽出できます。
ワイルドカードが使えない関数の特徴と具体例
Excelのすべての関数がワイルドカードをサポートしているわけではありません。
例えば以下の関数では、ワイルドカードが使用できません。
- FIND関数
- 大文字小文字を区別して文字列を検索しますが、ワイルドカードは利用できません。
- EXACT関数
- 2つの文字列が完全に一致するかを比較する関数で、ワイルドカードはサポートされていません。
- REPLACE関数
- 文字列の一部を置換する関数で、ワイルドカードが使用できません。
- SUBSTITUTE関数
- 指定した文字列を置換しますが、ワイルドカードには対応していません。
- LOOKUP関数(一部古いバージョン)
- 基本的に完全一致を求めるため、ワイルドカードが使えない場合があります。
これらの関数を使用する際は、意図した柔軟な検索ができず、正確な結果が得られない可能性があるため、別の手法や回避策が必要です。
ワイルドカードの使える関数についてはこちら↓
ワイルドカードが使えない場合の回避策
ワイルドカードが利用できない関数に対しては、以下の回避策が有効です。
- 補助列の利用
- LEFT、RIGHT、MID、SEARCH関数などを使い、対象データから必要な部分文字列を抽出し、補助列に記録します。これにより、部分一致の判定を別途行うことができます。
- 配列数式の活用
- IF関数、INDEX/MATCH関数などと組み合わせ、複数条件を評価して柔軟な検索を実現します。例えば、条件に一致する行番号を抽出し、その結果を用いて目的の値を返す方法です。
- VBAの活用
- Excel VBAを使用して、独自の検索ロジックを実装し、ワイルドカードの制限を回避することもできます。自作の関数でより柔軟な文字列検索が可能です。
これらの手法を適用することで、ワイルドカードが使えない関数でも、柔軟かつ正確なデータ抽出が実現できます。
具体例:回避策を用いた数式と応用例
補助列を利用した例
製品コードが「A123*」のようなパターンに一致するデータを抽出する場合、補助列に以下の式を入力します(例:E列)。
=IF(LEFT(A2, 4)=”A123″, 1, 0)
上記式の結果によりセルA2に入力されている値の先頭から4文字目までが「A123」だった場合は1、
それ以外の場合は0がE列に出力されます。

その後、該当するデータをINDEX/MATCH関数でE列が1のものを条件に入れ、値を抽出します。
これにより、製品コードが「A123」で始まる最初の該当商品名が取得できます。
=INDEX(B2:B10, MATCH(1, E2:E10, 0))

配列数式を用いた例
複数の条件に基づいて、データ表から目的の値を抽出する場合、次の数式を使用します。
以下の例では、売上が100,000円以上かつ利益率が20%以上の行から商品名を抽出します。
=INDEX(B2:B4, MATCH(1, (C2:C4>=100000)*(D2:D4>=0.2), 0))
※この数式はExcel 365以降ではそのまま「Enter」で、旧バージョンでは「Ctrl+Shift+Enter」で配列数式として入力してください。
INDEX/MATCH関数については以下で詳しく解説しています。
まとめ
Excelのワイルドカードは、部分一致検索などの操作に非常に有用ですが、すべての関数で利用できるわけではありません。
ワイルドカードが使えない関数に対しては、補助列や配列数式、さらにはVBAの活用といった回避策を採用することで、柔軟なデータ抽出が可能となります。
これにより、Excelでの業務効率は大幅に向上し、正確なデータ管理が実現します。
今後もExcelの新機能やテクニックを取り入れ、常に最適なデータ処理環境を追求してください。



