- Home »
- Excelの基本操作の目次 »
- 関数・数式を入力する方法 »
- 関数の検索条件にワイルドカード文字を使う
2021/06/28
検索条件にワイルドカード文字を使う Topへ
- ここでは関数の検索条件にワイルドカード文字を使う例について書きます。
ワイルドカード文字を使用できる関数としては、SUMIF、COUNTIF、SEARCH、MATCH、HLOOKUP、VLOOKUP、SUMIFS、COUNTIFS、AVERAGEIF、AVERAGEIFS
といった関数があげられます。
ただし、データベース関数でシートに検索条件を書き出すものは異なる結果を示しますので、データベース関数でのワイルドカードの使い方(検索条件の書き方) をご覧ください。 - このページは「データベース関数でのワイルドカード文字の使い方」と異なる結果を返しますので、その対比用として作成しています。
ここではCOUNTIF関数を使って説明したいと思います。
- ワイルドカード文字の*(アスタリスク)を使うと
○* 「〜で始まる」
*○ 「〜で終わる」
*○* 「〜を含む」
といった指定の仕方ができます。
この条件の指定の仕方を関数の検索条件に使ってみます。
- ワイルドカード文字については 下記ページで説明しています。
条件付きで合計する関数(SUMIF関数)の使い方
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/sumif.htm#wairudoka-do
- セルにワイルドカード文字の*(アスタリスク)や?(クエスチョンマーク)を入力してあります。そのセルを参照して数式を作成します。
○* 「〜で始まる」
*○ 「〜で終わる」
*○* 「〜を含む」
?島 「2文字の文字列で2文字目が島」
?島? 「3文字の文字列で2文字目が島」
といった指定の仕方ができます。
- E2セルにはセルに入力された条件を参照する数式(セル参照)で =COUNTIF($A$3:$A$9,C$2) が入力されています。
A3:A9の文字列でカウントされたものは ○ が表示されています。
下図の結果のように何ら違和感のない結果となりました。=を使った指定の仕方でも同じ結果です。
なお、= で始まるものは、例えば ="=*島" といった具合に入力しています。
- 下図のように、データベース関数では条件に「*島」「鹿児島」「?島」と入力した結果が異なります。判定基準が異なっています。
「*島」は島を含む、「鹿児島」を含む、「?島」は2文字目に島を含むものが一致したと判定されています。
(下図はExcel2016です。Excel2000,2003,2007,2010,2013は同じ結果になります。Excel2002以外のバージョン)
データベース関数でのワイルドカードの使い方(検索条件の書き方) をご覧ください。
- DSUM関数を使って条件に一致するセルの数値(B列の数値)を合計しています(12行目の値)
4〜10行目の ○ は手作業で、どのセルが条件に一致したかを示しています。
11行目は ○ をカウントしています。
- 数式の中にワイルドカード文字を使っています。
薄い緑色のセルに数式が入力してあります。数式の中には上のセルと同じワイルドカード文字を使った文字列が使用されています。
F11セルには =COUNTIF($A$3:$A$9,"=*島") と入力されています。
上記のセル参照と同じ結果が得られました。
- 検索する文字列がセルに入力してあり、ワイルドカード文字を数式で組み合わせる方法です。
F11セルには =COUNTIF($A$3:$A$9,"=*"&F12) と入力してあります。ワイルドカード文字とは & でつないでいます。
上記のセル参照と同じ結果が得られました。
- COUNTIFとかSUMIF、SUMIFS、COUNTIFS、AVERAGEIF、AVERAGEIFSといった関数でワイルドカードを使った検索を行い計算すると、それぞれその結果はカウント、合計、平均といった値が返ってくると予想できます。
- MATCH関数やSEARCH関数、VLOOKUP関数の場合はちょっと予想しにくいと思います。
ワイルドカード文字を使った検索値を入れると、下図のような結果が返されます。
- MATCH関数は一致した文字が指定したセル範囲のどの位置にあるかが返されます。
VLOOKUP関数もMATCH関数と同様です。 - SEARCH関数は対象の一致した位置を返します。一致しない場合は#VALUE!エラーを返します。
Home|Excelの基本操作の目次|関数の検索条件にワイルドカード文字を使う