Excel COUNTIFS関数でワイルドカード(*?)を文字列として扱う方法

2021年11月6日

IF付(条件判定付き)の集計関数で一部の文字列はワイルドカードという

特殊な文字として扱われて意図通りに集計できません。

COUNTIFSで*と?が正常にカウントできない例

これが問題になるのは文字列を検索するCOUNTIF関数COUNTIFS関数です。

この記事はそれらの文字を通常の文字としてカウントする方法を紹介します。

手順

下記のような動作となるため文字列としては扱われません。

  • *…任意の数の文字列
  • ?…任意の1文字

全角に置換する

単純ですが*を*に置換、?を?に置換してよければ有効です。

~(チルダ)でエスケープする(SUBSTITUTE関数)

~(チルダ)を*と?の前に置くとワイルドカードではなく通常の文字として扱われます。

よってSUBSTITUTE関数で置換します。

=COUNTIFS(検索条件範囲,SUBSTITUTE(SUBSTITUTE(検索条件,"*","~*"),"?","~?"))
SUBSTITUTE関数でエスケープするキャプチャ

これにより*が1件、?が2件と意図通りの結果が表示されます。

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

COUNTIFS関数で特定の文字列を含む件数を取得する方法

COUNTIFS関数で不等号を文字列として扱う方法

マクロ・VBA 重複する値をピックアップする方法(ワイルドカードと不等号対応版)

IF系関数の使い方・活用方法の記事一覧