Excel(エクセル)で特定の条件の数値を合計するときは、「SUMIF関数」や「SUMIFS関数」を利用すると大変便利です。
エクセルで膨大なデータを取り扱う人にとっては、大きな武器となるExcel定番関数の一つです。
この2つの関数は、基本的に縦方向に集計することが多いですが、横方向(水平方向)に集計することもできます。
この記事では、SUMIF関数とSUMIFS関数を横方向に使用する方法と、それぞれの事例を紹介します。
SUMIF関数の使い方(おさらい)
SUMIF関数(サムイフ)の基本的な使い方をおさらいします。すでに熟知されている方は、次に見出しまで読み飛ばしてください。
SUMIF関数は、指定した条件に一致する値を合計することが出来る関数です。
SUMIF関数の構文は、「範囲」「検索条件」「合計範囲」の3つの引数で構成されています。
=SUMIF(範囲,検索条件,[合計範囲])
SUMIF関数は、表から「A製品」の数量だけを合計したい、といった場合に下のように数式を挿入します。
=SUMIF(C3:C12,"A製品",F3:F12)
そうすると、C列が「A製品」になっているF3セルの25個とF8セルの30個が足されて、「55」と集計することができます。
このように、SUMIF関数は範囲や合計範囲の引数を縦方向に使うことが一般的です。
以下の記事で、SUMIF関数の基本的な使い方から応用テクニックまでをで紹介しているので、合わせて参考にしてください。
SUMIF関数を横方向に使う方法
それでは今回の本題である、SUMIF関数を横方向(水平方向)で利用する方法を解説します。
以下の表を使って、分類が「A製品」の数量を集計します。
手順1.第1引数「範囲」を横方向に指定
まずは、SUMIF関数の第1引数「範囲」を指定します。
A製品が集計の対象行なので、C3セルからL3セルまでを横方向にドラッグして指定します。
=SUMIF(C3:L3,
手順2.第2引数「検索条件」を指定
続いて、SUMIF関数の第2引数「検索条件」を指定します。
「A製品」を集計したいので、「A製品」と入力されたC3セルを指定します。
=SUMIF(C3:L3,C3,
SUMIF関数に直接、ダブルクォーテーションを使って、”A製品”と入力してもOKです。
=SUMIF(C3:L3,”A製品”,
手順3.第3引数「合計範囲」を横方向に指定
最後に、SUMIF関数の第3引数「合計範囲」を指定します。
数量を集計したいので、C6セルからL6セルまでを横方向にドラッグして指定します。
=SUMIF(C3:L3,C3,C6:L6)
SUMIF関数を確定すると、A製品の合計を集計値が表示され、横方向でも完全一致の条件で利用することができました。
このとおり、表の縦横が入れ替わっていても、SUMIF関数は横方向に対して利用できます。
SUMIF関数を横方向で使う事例
SUMIF関数を横方向で利用した実例を2つ紹介します。
「部分一致」の条件で横方向に利用
SUMIF関数を横方向で「部分一致」の条件で利用する事例を紹介します。
「部分一致」とは、「Aから始まる文字」「Aで終わる文字」「Aを含む文字」といった検索条件のことをいいます。
このような検索条件を設定する時は、アスタリスク(*)や疑問符(?)などのワイルドカード文字を利用します。
下の表から、品目コードに「A」を含む数量をSUMIF関数で合計する場合は、第2引数の検索条件に「*A*」と入力します。
=SUMIF(C2:L2,"*A*",C6:L6)
疑問符「?」のワイルドカードの使い方は以下を参考にしてみてください。
「以上」「以下」の条件で横方向に利用
SUMIF関数を横方向で「以上」や「以下」の条件で利用する事例を紹介します。
例えば、下の表から「4月1日以降」の数量を集計するためには、「>=」の符号を使って、以下のようにSUMIF関数を指定します。
=SUMIF(C5:L5,">=2024/4/1",C6:L6)
SUMIFS関数を横方向に使う方法
SUMIFS関数は、複数の条件に合致する値を合計することができる関数です。
SUMIF関数が横方向で使えるように、SUMIFS関数も横方向で使用することができるので、手順を解説します。
SUMIFS関数の基本的な使い方が分からない方は、以下の記事を参考にしてください。
手順1.SUMIFS関数の第1引数を指定
今回は、表の中から「30歳以上の男性の点数」を合計します。
まず、SUMIFS関数を挿入して、第1引数「合計範囲」をする必要があるので、C4セルからH4セルまでを横方向にドラッグして指定します。
=SUMIFS(C4:H4,
手順2.SUMIFS関数の第2、3引数を指定
続いて、「30歳以上」という条件と、対象のセル範囲を指定します。第2引数「条件範囲1」が「C3:H3」、第3引数「条件1」が「”>=30”」と入力します。
=SUMIFS(C4:H4,C3:H3,">=30",
手順3.SUMIFS関数の第4、5引数を指定
最後に、「男」という条件と、対象のセル範囲を指定します。第4引数「条件範囲2」が「C2:H2」、第5引数「条件2」が「”男”」と入力します。
=SUMIFS(C4:H4,C3:H3,">=30",C2:H2,"男")
手順4.SUMIFS関数を確定
SUMIFS関数を確定すると、「30歳以上の男性の点数」の合計が表示され、横方向でも完全一致の条件で利用することができました。
SUMIFS関数を横方向の複数条件で使う事例
SUMIFS関数を横方向で利用した実例を2つ紹介します。
「~以上」の条件で横方向に利用
SUMIFS関数を横方向で「~以上」の条件で利用する事例を紹介します。
下の表から「C製品で、なおかつ3月以降の数量」の複数条件で集計するためには、「>=」の符号を使って、以下のようにSUMIFS関数を指定します。
=SUMIFS(C5:K5,C3:K3,"C製品",C4:K4,">=2024/3/1")
「~以外」の条件で横方向に利用
SUMIFS関数を横方向で「~以外」の条件で利用する事例を紹介します。
下の表から「A製品以外で、西区の数量」の複数条件で集計するためには、「<>&」の符号を使って、以下のようにSUMIFS関数を指定します。
=SUMIFS(C5:K5,C3:K3,"<>"&"A製品",C4:K4,"西区")
SUMIF(S)関数を横方向に使えない方・苦手な方へ
SUMIF関数やSUMIFS関数を横方向に使うのが苦手な方や、どうしても出来ない方は、表の行と列を入れ替えましょう。
そうすると、関数を通常どおり縦方向に使用することができます。
表をコピーしてから右クリックメニューの「形式を選択して貼り付け」を開いて、「行/列の入れ替え」にチェックを入れることで、表の縦横を入れ替えすることができます。
以下の記事で、表の行と列を入れ替える方法を詳しく紹介しているので参考にしてください。