SUMIF(S)関数を含む/含まない条件にする|ワイルドカード
ここでは、エクセルの「SUMIF関数やSUMIFS関数で特定の文字列を『含む』、または『含まない』条件にする方法」を解説します。
言い換えると、ワイルドカードという記号の使い方の説明です。
1.ワイルドカードとは?種類も確認
SUMIF関数やSUMIFS関数を含む、または含まない条件にする際には、「ワイルドカード」を使います。
ここでは始めに、「ワイルドカード」とはなにか、どんな種類があるのかをみていきます。
1-1.ワイルドカードとは?-部分一致
ワイルドカードとは、次のようなもののことを言います。
- 含む/含まない条件の時に使う「記号」のこと
- 「*」と「?」の2種類がある
- そもそもワイルドカードとは「なんでもいい」という意味
- 「ワイルドカードを条件値に付ける」形で使う
- 付け方は「前」、「後ろ」、「前後」の3パターン
特にポイントは、「ワイルドカードは『条件値に付ける』形で使う」点です。
ワイルドカードは「なんでもいい」という意味なので、例えば条件値の前後に付けると「条件値を含む(条件値の前後はなんでもいい)」という意味になります。
また、ワイルドカードを使って行う「含む条件」は、「部分一致」とも呼ばれます。
1-2.ワイルドカードを使った数式の例
ワイルドカードを使った数式の例は、次の通りです。
=SUMIF(A2:A5,"*青*",B2:B5)
数式は、「A2~A5の範囲で『青』という文字を含んだ行のB2~B5の合計」という意味になります。
1-3.「*」と「?」の違い
ワイルドカードには「*」と「?」の2種類があり、違いは次の通りです。
種類 | 特徴 |
* | 文字数を指定しない時に使う |
? | 文字数を指定したい時に使う |
2つの違いは「文字数を指定するか?」です。
この部分は、例を見ると分かりやすいでしょう。
- *青 ⇒ 前に何文字あってもいいから最後が「青」
- ?青 ⇒ 何か1文字あって最後が「青」
- *青* ⇒ 「青」の前後に何文字あってもいい
- ??青?? ⇒ 「青」の前後に何か2文字づつある
例のように、「*」は文字数を指定する時に、「?」は指定する時に使い、「?」は1つ1文字として見られます。
この後の説明には、一般的に使用頻度の高い「*」を使いますが、「?」に置き換えると文字数の指定もできます。
2.「含む」条件にする時の基本
次に、SUMIF・SUMIFS関数で「含む」条件にする時の基本的なポイントを見てみます。
2-1.ワイルドカードを使う引数は
ワイルドカードは「条件値に付加する」形で使うため、対象となる引数はSUMIF関数なら「検索条件」、SUMIFS関数なら「条件」です。
反対に言うと、「検索条件」、または「条件」以外の指定の仕方は普段通りになります。
2-2.ワイルドカードの付け方
ワイルドカードの付け方は2パターンあり、条件値に「文字列を入れる」か「セル番号」を入れるかで変わります。
条件値 | 検索条件/条件の形 |
文字列の場合 | "*文字列*" |
セル番号の場合 | "*"&セル番号&"*" |
このことからSUMIF関数の含む条件は、次のような形になります。
- 文字列 :=SUMIF(範囲,"*文字列*",合計範囲)
- セル番号:=SUMIF(範囲,"*"&セル番号&"*",合計範囲)
また、SUMIFS関数の含む条件は、次のような形になります。
- 文字列 :=SUMIFS(合計対象範囲,"*文字列*",...)
- セル番号:=SUMIFS(合計対象範囲,"*"&セル番号&"*",...)
条件値が文字列の場合には、「"」と「*」の間に条件値を入れます。
条件値がセル番号の場合には、条件値の前後に「"*"」を&で付けます。
ちなみに、「"*セル番号*"」の形にしてしまうと、「セル番号(という文字)を含む」という意味になってうまくいかないので注意してください。
2-3.数式の作り方
数式を作る際には、次のステップで行うのが簡単です。
② 各引数を入力する
一つ例を見てみましょう。
上の表から、「梨」の文字を含む数を合計します。
以下手順です。
(1)以下の数式をコピーし、セルに貼り付ける
【コピーする数式】
(2)各引数を入力する
(3)Enterキーを押せば完了
SUMIFS関数の場合にも、同様に数式の形をコピーして作ると簡単です。
3.「含まない」条件にする時の基本
続いて、SUMIF・SUMIFS関数で「含まない」条件にする時の基本的なポイントを見てみます。
3-1.ワイルドカードを使う引数は
対象となる引数は「含む条件」と同じで、SUMIF関数なら「検索条件」、SUMIFS関数なら「条件」です。
3-2.ワイルドカードの付け方
ワイルドカードの付け方は、やはり以下の2パターンです。
条件値 | 検索条件/条件の形 |
文字列の場合 | "<>*文字列*" |
セル番号の場合 | "<>*"&セル番号&"*" |
このことからSUMIF関数の含まない条件は、次のような形になります。
- 文字列 :=SUMIF(範囲,"<>*文字列*",合計範囲)
- セル番号:=SUMIF(範囲,"<>*"&セル番号&"*",合計範囲)
また、SUMIFS関数の含まない条件は、次のような形になります。
- 文字列 :=SUMIFS(合計対象範囲,"<>*文字列*",...)
- セル番号:=SUMIFS(合計対象範囲,"<>*"&セル番号&"*",...)
含む条件と違うのは、頭に「<>」を付け加えることで、「<>」は「等しくない」という意味です。
3-3.数式の作り方
数式を作る際には、次のステップで行うのが簡単です。
② 各引数を入力する
一つ例を見てみましょう。
上の表から、「梨」の文字を含まない数を合計します。
以下手順です。
(1)以下の数式をコピーし、セルに貼り付ける
【コピーする数式】
(2)各引数を入力する
(3)Enterキーを押せば完了
SUMIFS関数の場合にも、同様に数式の形をコピーして作ると簡単です。
4.ワイルドカードを使ったその他の条件の形
最後に、ワイルドカードを「前だけ」、「後ろだけ」に付けた場合についても確認します。
4-1.付け方別の意味
ワイルドカードの付け方別の意味は、次の通りです。
付け方 | 例 | 条件の意味 |
前に付ける | =SUMIF(A2:A5,"*青",B2:B5) |
「青」で終わる |
後ろに付ける | =SUMIF(A2:A5,"青*",B2:B5) | 「青」で始まる |
ワイルドカードを前に付けると「条件値で終わる」、後に付けると「条件値で始まる」という条件になります。
4-2.「<>」を付けた場合は
ワイルドカードの他に「<>」を付けた場合には、次のような意味になります。
ワイルドカードの位置 | 例 | 条件の意味 |
前 | =SUMIF(A2:A5,"<>*青",B2:B5) |
「青」以外で終わる |
後ろ | =SUMIF(A2:A5,"<>青*",B2:B5) | 「青」以外で始まる |
ちょっとややこしいですが、このような使い方もできます。
以上、参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】