スポンサーリンク

【Excel/関数】ザックリ解説SUMIF関数~(私にもできたんだから)あなたにもできる!エクセル関数を使いこなそう④ ~

エクセル関数 エクセル
スポンサーリンク
※当サイトは広告を含みます

関数はこの5つさえ知っておけばだいたいOKと書きました。

①IF
②COUNTIF
③SUMIF
④VLOOKUP
⑤LEFT,RIGHT,MID(文字列取り出し関数)

今回はそのうちの ③ SUMIF関数 をざっくり解説。

条件にあるものだけを選んで合計してくれる便利な関数。集計の時によく使う関数です。

■SUMIF関数の基本的使い方

おなじみSUM関数は引数に指定した範囲を合計します。SUMIFは「もし条件に合致したら、その行のデータを合計していきます」という関数です。

たとえばこんな表で、りんごの個数だけを合計したいときに使います。

こちらのサイトでとても分かりやすく説明してくれていました。

ExcelのSUMIF関数で条件に合う数字を合計
Excel(エクセル)のSUMIF関数は、条件に合った数字だけを合計したいときに使う関数。条件が1つのときに使い、サムイフ関数と呼びます。

ちょいと引用させていただいて・・・

引数は以下のように指定します。

=SUMIF( [範囲] , [検索条件] , [合計範囲] )

[範囲] ・・・この範囲が

[検索条件]・・・この条件に合ってたら

[合計範囲]・・・この範囲を合計

関数ダイアログボックスはこんな感じです。

 ・COUNTIFとの違いとSUMIFの注意点

COUNTIFとの違いは「範囲」が二つあることです。最初の範囲が「条件の範囲」、後の範囲が「合計する範囲」とふたつ指定します。

また、二つの範囲は行数がずれていると正しい計算結果が得られません。「条件範囲」と行2~6までと指定したら、「合計範囲」も2~6までと指定します。

・SUMIFの条件の指定方法

条件の指定方法はCOUNTIFと同じです。 詳しくは前回の記事の「条件の指定方法」をご参照ください。

数値、文字列、〇〇より大きいなどの比較条件式が指定できます。セル位置での指定もできます。

数値はそのまま入力、文字列・比較条件式はダブルクォーテーションで囲んで入力します。文字列のワイルドカードも使用できます。セルを使った指定もできます。

例です。

上の表のH列に式を右の番号順に解説

①A列の商品で「りんご」に合致する行の売上(D列)を合計。検索条件が文字列(または比較条件式)の場合は検索条件をダブルクォーテーションで囲む。

② ①と同じ集計。条件はセルG3の「りんご」を参照している
この方法は違う条件を指定したいとき、参照セルG3を修正すればよいので便利。
セルG3を「ばなな」と修正するとバナナの売り上げを集計してくれる。

③C列の単価が100の行の売り上げ(D列)を合計。条件に100と直接入力。数値の場合はダブルクォーテーション不要。

④C列の単価が100未満の行の売り上げ(D列)を合計。比較条件式(”<100″)はダブルクォーテーションで囲む。比較条件式(<,<=等)は必ず半角で入力すること。

⑤ ④と同じ集計のセル参照方式。比較条件式をダブルクォーテーションで囲みアンドでセル位置をつなぐ。

⑥A列の商品名に「な」を含む行の売り上げを合計。ワイルドカード (*)使用。条件に “*な*” と指定。「ばなな」と「なし」の行の売り上げが合計対象となる。 

次の例です。テーブルの集計です。

各営業所に所属する社員の目標・実績の件数の表です。上の青の部分は営業所ごとの目標・実績を集計し、各営業所の達成率を出しています。

東北の「目標」の合計を出す数式をセルC3に入力します。

C3に絶対参照を利用しSUMIF式を入力することで、ほかの営業所の目標も実績の集計もC3の式のコピーで行けちゃいます。

=SUMIF($A$7:$A$16,$A3,C$7:C$16)

条件範囲:A列7行目から16行目の営業所を指定。式をコピーしたときに列も行も動かしたくないため絶対参照としています。

条件:A3の「東北」のセルを指定。右にコピーしたときに列は固定しておきたいので列Aの前に絶対参照$を入れます。

合計範囲:C列7行目から16行目を指定。右のコピーしたときに列は動いて良くて、下にコピーしたときに行は動かしたくないので行を絶対参照にします。行番号2・7の前に$を入力。

セルC3の式をコピーしC3~D5のセルに貼り付けします。絶対参照しておかげでいい感じの式がコピーされます。

(絶対参照についてはCOUNTIFの回を参照ください)

・閑話休題 SUMのいいところ

ちなみに2行目には言わずと知れた合計関数SUMが入力してあります。

山田さんは諸事情により今期は目標・実績ともなしです。なしをあらわすために「-」が入力されていますが、SUM関数の場合文字列は無視して集計してくれますね。「+」で合計すると文字列があるとエラーになってしまいます。連続した領域の集計で「+」を使う人はあまりいないと思いますが、下の例のようにとびとびの場合も文字列が出現する可能性がある場合は「+」ではなくSUMを使った方がよいですね。SUMは連続した領域だけではなく、合計箇所は複数個所を指定できます。

=SUM(A5:A6,B6,C7:C9) とか =SUM(A5:C6,D7,E8,F9) とか 

■SUMIFの親戚 AVERAGEIF

SUMIFの親戚(?)にAVERAGEIFがあります。

使い方はSUMIFと同様です。AVERAGEIFは合計ではなく「条件に一致した場合の平均」を出してくれます。

ここは合計ではなく平均が出したいなあというときにたまにAVERGEIFを使うことがあります。

上の表営業所集計で東北営業所の「平均」を出したいとき、セルC3に以下のように入力します。

=AVERAGEIF($A$7:$A$16,$A3,C$7:C$16)

SUMIFの部分ををAVERAGEIFに置き換えただけです。

■SUMIFの進化系、SUMIFS

COUNTIFSSUMIFSも同様Excel2007で登場したようです。複数の条件が指定できます!

SUMIFの時と違い、合計範囲を一番最初に指定します。そのあと条件範囲1、条件1、条件範囲2、条件2と条件を指定してきます。条件2以降は省略できます。

=SUMIFS( 合計範囲 , 条件範囲1 , 条件1 [ , 条件範囲2 , 条件2 , 条件範囲3 , 条件3…])

SUMIFS関数で複数条件の合計[Excel初心者さん専用解説]
SUMIFS関数は、複数の条件すべてに合っていたら合計する関数(AND条件で合計)。Excel(エクセル)初心者さんのための、図解たっぷり関数解説。

先ほどのサイトが同様にわかりやすかったので・・・ちょいと引用させていただいて

合計範囲 :この範囲を合計してね

条件範囲1:だけどこの範囲が

条件1   :この条件に当てはまったら

条件範囲2:さらに、この範囲が

条件2    :この条件に当てはまった場合だけね

すべての条件に合致した行のみ合計されます。

下の例では、営業所が関東で、担当が鈴木の「販売個数」の合計件数を出しています。2行目と10行目が営業所・担当とも合致するので販売個数が合計されます。

13行目に文字列で「関東」「鈴木」を直接指定した例。14行目はセルで検索条件を指定した例です。

 関数のダイアログボックスはこんな感じ。

 最大127個までの条件ペアを指定できるそうです。そんなに使わんけど~。

■SUMIFSの仲間、AVERAGEIFS。MAXIFS、MINIFSも登場!

AVERAGIFSもあります。AVERAGEIFの進化系で複数の条件を指定できます。

なんと!MAXIFSMINIFSも登場しています!条件付きで最大値、最小値をとれるんですね。ちなみに「S」のついていないMAXIFMINIFはないみたいです。Excel2007で「最大値と最小値のIF関数も作ろう!」となったときにMAXIFSMINIFSでも条件は一つだけでも大丈夫なので兼用できるので単数のものは必要ない、ということになったんでしょうね。

一つ上の営業所、担当者、月の販売個数の表を使って下図のような集計表を作りました。

 各営業所の各月の販売個数を集計します。

3列目には「合計」、4列目には「平均」、5列目には「最大値」、6列目には「最小値」を出力します。

「東北」の「4月」の行に関数を入力していきます。

SUMIFSを入力し、合計範囲は絶対参照でD列を指定します。
条件の1つ目は範囲を絶対参照で「営業所」のA列を指定し、検索条件は集計対象の営業所が入力してあるF列を列の絶対参照で指定します。
条件の二つ目は範囲を絶対参照で「月」のC列を指定し、検索条件は集計対象の月が入力してあるG列を列の絶対参照で指定します。

合計:=SUMIFS($D$2:$D$11,$A$2:$A$11,$F2,$C$2:$C$11,$G2)

平均・最大値・最小値も同様に指定します。合計の式をコピーして「SUMIFS」の部分をそれぞれの関数に書き換えればOKですね。

平均:=AVERAGEIFS($D$2:$D$11,$A$2:$A$11,$F2,$C$2:$C$11,$G2)

最大値:=MAXIFS($D$2:$D$11,$A$2:$A$11,$F2,$C$2:$C$11,$G2)

最小値:=MINIFS($D$2:$D$11,$A$2:$A$11,$F2,$C$2:$C$11,$G2)

東北の行の関数を4列分コピーし、下まで貼り付けします。これで集計表の完成です。

以上でSUMIFの回はおしまいです。

ザックリ説明と言っておきながらやはり今回もネチネチしつこく説明になってしまった。。。最後までお読みいただいた方、感謝します。ありがとうございます!

実はMAXIFS、MINIFSの存在を今回初めて知りました。あんまり「使いたい」と思う場面にはこれまで出会わなかったように思いますが、勉強になったなあ。今度使おう。

関数はこの5つさえ知っていればOK!シリーズ

コメント

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