「*」(アスタリスク)「?」(クエスチョン)「~」(チルダ)などは、ワイルドカード文字とも呼ばれています。名前はカードゲームで使われるワイルドカードから来ており、”何かの代わりに使える文字”と覚えておけばだいたいあっています。
Excelでは抽出したい文字を検索するときに使ったり、関数の中に含めて使ったりできます。なんにでも使えそうな印象ですが、いくつかの注意点もあります。今回はそんなワイルドカード文字をIF関数で使用する場合の使い方を解説します。
▼目次
1.ワイルドカード文字の概要
2.IF関数だけではワイルドカード「*(アスタリスク)」は使えない
3.ワイルドカードはCOUNTIF関数と合わせて使う
4.IF関数とCOUNTIF関数を合わせて使う方法
5.ワイルドカードを含む複数条件つきのIF関数
6.ワイルドカードは数字や日付にも使える?
7.まとめ
Excelのワイルドカード文字は、検索文字列を部分的に指定したいときに有効な機能の1つです。
例えば、住所一覧から「東京都」のデータを探したい時、東京都以下の詳細住所にかかわらず「東京都」が含まれるデータなら全てピックアップしたいですよね。そんな時は「東京都*」のように、東京都以下の部分を「*(アスタリスク)」とすることで、東京都すべての住所をピックアップすることができます。
また「*」以外にも、不明な部分の1文字だけを表す「?(クエスチョン)」、そのままの文字として「*」と「?」を検索したい場合に使う「~(チルダ)」があります。
=エクセルで使える主なワイルドカード文字一覧=
ワイルドカード文字 | 説明 | 使い方例 |
---|---|---|
*(アスタリスク) |
任意の一連の文字列を表す | 「東京都*」 ⇒東京都で始まる全ての住所 |
?(クエスチョン) | 任意の 1 文字だけを表す | 「A????」 ⇒Aで始まる5桁の顧客コード |
~(チルダ) | *や?を通常の文字として 扱いたい時に前につける |
「~?」 ⇒普通の文字としての? |
「?(クエスチョン)」が1文字だけを表すのに対し、「*(アスタリスク)」は文字数を気にせずに使えて便利です。次からはこの「*(アスタリスク)」を中心に使って解説していきます。
下の表は、住所に「区」が含まれているときは「〇」、含まれていないときは「×」を表示する、IF関数を使ったものです。
区の文字の前後には、ワイルドカード文字「*」を使っていますが、表示結果を見ると「IF関数」が反映されていません。
IF関数だけでは、ワイルドカード文字「*(アスタリスク)」は使えないのです。
「IF関数」だけだと、ワイルドカード「*(アスタリスク)」は機能しませんが、「COUNTIF関数」をあわせて使うと検出できるようになります。
COUNTIF関数は、条件に当てはまるセルを数える関数で、記述方法は以下の通り。
数式=COUNTIF(範囲,検索条件)
返す値:条件に当てはまっているセルの個数
検索範囲の中に「りんご」は3つあることが分かりました。このように、検索範囲の中に「いくつあるか」をはじき出すのがCOUNTIF関数です。
ではいよいよ「IF関数」の中に「COUNTIF関数」を仕込んでいきます。
まずは「COUNTIF関数」を使い、お隣のセルに「区」がありますか、と聞いています。検索範囲はお隣のセル1つだけなので、「区」が含まれていれば1、含まれていなければ0をはじき出します。
その上で「IF関数」を使い、COUNTIFでの計算結果が0より大きいかどうかを条件とします。もし、COUNTIFでの計算結果が1ならば、0より大きいので「〇」、計算結果が0ならば「×」を返すというしくみです。
これで「区」が含まれる住所を○と表示することができました!
次は応用編として、ワイルドカードを含む複数条件つきのIF関数にチャレンジしてみましょう。
複数条件を設けたいときに便利なのは「COUNTIFS関数」。先ほどのCOUNTIF関数の複数形のような名前から分かるとおり、複数の条件を指定できるようになります。
数式=COUNTIFS(範囲,検索条件,範囲,検索条件,…)
返す値:すべての条件を満たした回数
例えば先ほどからの都道府県一覧表で、住所に「区」を含み、なおかつ「〇〇県」となっている場合に○と判定する式を作ります(結論、東京都は外れることになります)。
=IF(COUNTIFS(B3,"*区*",A3,"*県")>0,"○","×")
このように入力します。
※実際の入力では文字列以外は全て半角で入力していきます。
B列で「区」を含み、A列で末尾が「県」となって初めて1とカウントされます。もし1とカウントされれば○、そうでなければ×と表示されるというわけです。
実は、残念ながらワイルドカードは数字や日付には使えません。ワイルドカードで表すことができるのは文字列のみです。
例えば下表で、各都道府県でのセミナーのうち9月に開催するところだけ○にしたいとします。ここまでのようにCOUNTIF関数を使い、日付を「2022/9/*」としても反映されていません。
千葉県と東京都は9月開催のはずですが、○にならず全て×となっていますね。対処法としては、ワイルドカードを使うのではなく「9月1日以上、10月1日未満」といった内容を数式に入れこんであげることになります。
=IF(COUNTIFS(C3,">=2022/9/1",C3,"<2022/10/1")>0,"○","×")
今回の例ではこのように入力しました。
複数の条件を設定できるCOUNTIFS関数を用いて「9月1日以上」と「10月1日未満」という2つの条件を並べました。この両方をクリアする場合、すなわち「9月」の場合は○となっています。
ワイルドカード文字は便利なのでついついなんにでも使いたくなりますが、ご説明した通り「IF関数」では、そのまま使うことはできません。今回紹介した「COUNTIF関数」が便利なので、この2つの関数をセットで覚えておくといいでしょう。
そして、ワイルドカード文字は日付や数字に使えないのが残念なところ。日付や数字を用いる場合には別の考え方で対応する必要があります。
関数は最初から難しく考えると混乱してしまいがち。まずは基本的なところからマスターしていきましょう。COUNTIF関数を使いこなせるようになったらCOUNTIFS関数の方も使っていくと、より便利になるはずです。
文:マイナビ学生の窓口編集部
2024/11/24
【給付型奨学金】国内外の大学院にて博士号を取得したい社会人学生が対象『FASID奨学金プログラム』※2025年1月20日締切
2024/11/12
2024/11/04
2024/09/27
2024/09/26
社外との日程調整にストレスを感じている人に!面接・商談・会議・接待などの日程調整で活躍するツール #Z世代pickフレッシャーズ
かわいい×機能性がつまったSamantha Thavasa Petit Choiceのフレッシャーズ小物を紹介! 働く女性のリアルボイスを集めて開発された裏側をレポート
ウワサの真実がここにある!? クレジットカードの都市伝説
いつでもわたしは前を向く。「女の子の日」を前向きに♪社会人エリ・大学生リカの物語
忙しい新社会人にぴったり! 「朝リフレア」をはじめよう。しっかりニオイケアして24時間快適。
実はがんばりすぎ?新社会人『お疲れ度』診断
視点を変えれば、世の中は変わる。「Rethink PROJECT」がつたえたいこと。
社会人デビューもこれで完璧! 印象アップのセルフプロデュース術
あなたの“なりたい”社会人像は? お仕事バッグ選びから始める新生活
【診断】セルフプロデュース力を鍛える! “ジブン観”診断