エクセルSUMIF関数の使い方: 単一条件ありで合計値算出 - 複数列データにも対応可

はじめに
エクセルのSUMIF
関数は、 SUMIFS
関数もあります(引数の順序が変わるので注意)。
ここでは、SUMIF
関数の
- 基本機能・使い方
- 注意事項
- 関連する関数
- 使用例、応用法
について取り扱います。
基本機能・使い方
SUMIF
関数は、
検索範囲
, 検索条件
, 合計対象範囲
)指定した 検索範囲
中で 検索条件
に合致する位置の、 合計対象範囲
の値を合計 する。
検索範囲
検索条件
合計対象範囲
検索条件
には、
比較演算子と値の間に、 &
(アンパサンド/アンド記号)が必要 なので注意です
比較演算子
数値同士や文字列同士を比較するときに使用する演算子です。
比較演算子 意味 使用例
(文字列)
(数値)
(参照)=
等しい () "=A"
※"=" & 0
※"=" & A1
※<>
等しくない () "<>A"
"<>" & 0
"<>" & A1
>
より大きい () ">" & 0
">" & A1
<
より小さい () "<" & 0
"<" & A1
>=
以上 () ">=" & 0
">=" & A1
<=
以下 () "<=" & 0
"<=" & A1
※ 比較演算子 (+
&
) は省略可
注意事項
検索条件で部分一致を使用できるか、
検索条件の仕様
- 部分一致検索(ワイルドカード)に対応(詳細は後述)
- 大文字・小文字の区別はしない
- 全角・半角の区別はする
- 一度に照合できる文字列は 最大255文字まで
- 一度に複数条件を指定することはできない(対応策は後述)
うまく動作しないときの原因と対策
SUMIF
関数がうまく動作しない場合、
-
うまく計算されない、0になるとき:
検索条件
の記入方法が間違っている。
対策:以下を再確認する(参考:上記「比較演算子」)。- 比較演算子は
"
で囲まれているか? - 文字列は
"
で囲まれているか? - 比較演算子と数値 / 参照は
&
で結ばれているか? - 参照を
"
で囲んでいないか?
- 比較演算子は
合計対象範囲
(省略時は、検索範囲
) の値が数値でなく、文字列として認識されている
対策:セルの書式を数値
(or指数
など) にする。セル記入値に含まれる空白文字
、特殊文字
を削除する。※
-
#VALUE!
エラーが表示されるとき:検索範囲
と合計対象範囲
のサイズが異なっている。
対策:サイズが同じになるように選択範囲を修正する。
※ 1をかけると数値に変換できる
文字列として認識されていても、
1
を掛ける (または-1
x-1
を掛ける) ことで数値に変換できます。例:
=1*A1
,=--A1
関連する関数
SUMIF
関数と似た機能を持つ関数には、以下があります。
SUM
関数:指定した範囲の数値を合計する。SUMIFS
関数: 複数条件 を指定して、合計する。DSUM
関数: 複雑な条件(OR、AND条件の組合せなど) を指定して、合計できる。SUBTOTAL
関数: フィルター機能による非表示の値を排除 して、合計値を算出できる。AGGREGATE
関数:SUBTOTAL
関数の機能に加え、 エラー値を除去 して合計値を算出できる。SUMPRODUCT
関数:複数の配列の 要素同士の積 (または和/差/商) を合計する。
使用例、応用例
SUMIF
関数の使用例・応用例として、以下のパターンを紹介します。
- 複数列のデータへの対応:
検索範囲
と合計対象範囲
を同サイズのまま参照位置をずらす。 - 部分一致検索: 検索条件にワイルドカードを使用。
複数列のデータへの対応
検索範囲
中でマッチした位置と 合計対象範囲
から読み取られる※ ことを利用すると、
※ たとえば、 検索範囲
内の2行3列目がマッチする場合、 合計対象範囲
内の2行3列目の値が計算に使用される。
関数の構成
=SUMIF(
検索範囲
,検索値
,合計対象範囲
)
部分一致検索
SUMIF
関数では、検索条件にワイルドカードを使用できるため、 *
(アスタリスク記号)でなく?
(疑問符 / ハテナ記号)を使用します。
関数の構成
=SUMIF(
検索範囲
,検索値
,合計対象範囲
)※
検索値
に、ワイルドカード*
使用
ワイルドカード
ワイルドカードとは、任意の文字列を表す特殊な文字のことです。
言葉で表すと「ほにゃらら」「○○」などのイメージです。
特定の文字列が含まれるかどうかを調べるときに使用します。
関連する記号としては、以下があります。
*
(アスタリスク記号):任意の文字列(文字数不定)?
(疑問符 / ハテナ記号):任意の1文字~
(チルダ記号):エスケープ記号(*
,?
記号を検索文字として使用する場合に使用)