【Excel関数】数値の合計に様々な条件を設定する方法

Windows PC

こんにちは、ふみです。みなさんは表計算ソフト「Microsoft Excel(エクセル)」で条件を指定して数値を合計することはありますか?

Excelで条件を設定して範囲内の数値を合計するには「SUMIF関数」等を使います。
ここでは様々な条件を設定して数値を合計する方法を紹介します。

一つの検索条件で数値を合計する(SUMIF関数)

検索条件が一つのときは SUMIF関数を使います。

指定した範囲が条件値と同じ値のときに合計範囲を合計する

検索条件に文字列を使う

A列が「みかん」になっている行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,"みかん",$D:$D)

SUMIF関数の検索条件が文字列のときは両端を「”」(ダブルクォーテーション)で囲みます

検索条件にセル値を使う

A列がセルA2と同じ値になっている行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,$A2,$D:$D)

SUMIF関数の検索条件がセル値(セルアドレス)のときは「”」を使いません。

指定した範囲が条件値と異なる値のときに合計範囲を合計する

検索条件に文字列を使う

A列が「みかん」でない行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,"<>みかん",$D:$D)

小なり(<)と大なり(>)の不等号を組み合わせた「<>」は等しくないことを意味します
SUMIF関数の検索条件に不等号を使うときは両端を「”」で囲みます

検索条件にセル値を使う

A列がセルA2の値でない行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,"<>"&$A2,$D:$D)

SUMIF関数の検索条件に不等号とセルアドレスを組み合わせる時は「&」(アンド)でつなげます

指定した範囲が条件値より大きい(小さい)ときに合計範囲を合計する

検索条件に数値を使う

C列が「2」より大きい行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($C:$C,">2",$D:$D)

「>」を「<」に変更すると、検索条件が「~より小さい」に変わります。

検索条件にセル値を使う

C列がセルC2の値より大きい行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($C:$C,">"&$C2,$D:$D)

指定した範囲が条件値以上(以下)のときに合計範囲を合計する

検索条件に数値を使う

C列が「2」以上の行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($C:$C,">=2",$D:$D)

「>=」を「<=」に変更すると、検索条件が「~以下」に変わります。

検索条件にセル値を使う

C列がセルC2の値以上の行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($C:$C,">="&$C2,$D:$D)

指定した範囲が特定の文字を含むときに合計範囲を合計する

条件値で始まる文字列を検索する

A列が「み」で始まる文字列になっている行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,"み*",$D:$D)

SUMIF関数の検索条件に使われている「*」(アスタリスク)はワイルドカード文字で、全てのパターンの文字列に置き換えることができます

条件値を含む文字列を検索する

A列が「か」を含む文字列になっている行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,"*か*",$D:$D)

条件値で終わる文字列を検索する

A列が「ん」で終わる文字列になっている行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,"*ん",$D:$D)

左からn番目が条件値の文字列を検索する

A列の左から3番目と4番目の文字列が「04」になっている行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,"??04*",$D:$D)

SUMIF関数の検索条件に使われている「?」(クエスチョンマーク)はワイルドカード文字で、全てのパターンの1文字に置き換えることができます

右からn番目が条件値の文字列を検索する

A列の右から3番目と4番目の文字列が「02」になっている行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIF($A:$A,"*02??",$D:$D)

複数の検索条件で数値を合計する(SUMIFS関数)

検索条件が複数のときは SUMIFS関数を使います。

指定した範囲が2つの条件値の範囲内のときに合計範囲を合計する

検索条件に数値を使う

C列が「2」以上で「5」以下の行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIFS($D:$D,$C:$C,">=2",$C:$C,"<=5")

SUMIFS関数の検索条件に不等号を使うときは両端を「"」で囲みます。

検索条件にセル値を使う

C列がセルC2の値以上でセルF1の値以下の行のD列の数値を合計する場合、集計するセルの数式は次のとおりです。

=SUMIFS($D:$D,$C:$C,">="&$C2,$C:$C,"<="&F$1)

SUMIFS関数の検索条件に不等号とセルアドレスを組み合わせる時は「&」(アンド)でつなげます

範囲毎に検索条件を指定して合計範囲を合計する

A列が「みかん」でC列が「5」以上になっている行のD列の数値を合計する場合、セルの数式は次のとおりです。

=SUMIFS($D:$D,$A:$A,"みかん",$C:$C,">=5")

SUMIFS関数はこのように検索範囲毎に個別に条件を指定することができます。

まとめ

  • 一つの検索条件で数値を集計するときは SUMIF関数を使う
  • 複数の検索条件で数値を集計するときは SUMIFS関数を使う
  • 関数の検索条件が文字列のときは両端を「"」で囲む
  • 小なり大なりの不等号を組み合わせた「<>」は等しくないことを意味する
  • 関数の検索条件に不等号を使うときは両端を「"」で囲む
  • 関数の検索条件に不等号とセルアドレスを組み合わせる時は「&」(アンド)でつなげる
  • 「*」(アスタリスク)はワイルドカード文字で、全てのパターンの文字列に置き換えることができる
  • 「?」(クエスチョンマーク)はワイルドカード文字で、全てのパターンの1文字に置き換えることができる

ありがとうございました。

コメント

タイトルとURLをコピーしました