【Excel】エクセルSUMIFで別シートや複数列を集計する方法
Excelで売上表や勤務表を管理していると、条件に合う数値だけを合計したい場面が出てきます。
そのようなときに役立つ関数がSUMIFです。
たとえば、担当者が「田中」の売上だけを合計したり、商品名が「りんご」の数量だけを集計したりできます。
さらに、別シートにある元データを参照したり、複数列に分かれた金額を組み合わせたりすれば、月次集計や部門別集計も効率化できます。
ただし、SUMIFは条件範囲と合計範囲の位置関係、シート名の指定、複数条件への対応などでつまずきやすい関数です。
SUMIFは、指定した条件に一致する行だけの数値を合計する関数です。
別シートを参照する場合は、シート名の後に「!」を付けてセル範囲を指定します。
複数列を横断して集計したい場合は、SUMIFの組み合わせ、SUMPRODUCT、SUMIFSなどを目的に応じて使い分けます。
この記事では、SUMIFで別シートや複数列を集計する方法を、サンプルデータと数式を使って詳しく解説します。
1行目に見出しが入力されている表を前提に、コピーしやすい数式も紹介していきましょう。
エクセルSUMIFで別シートを集計する基本操作
それではまず、別シートにある一覧表から条件に一致する金額を集計する基本操作について解説していきます。
| 商品名 | 集計結果 |
|---|---|
| りんご | 元データシートの売上を合計 |
SUMIF関数の構文と引数
SUMIF関数は、ある条件に合うセルを探し、その条件と同じ行または列にある数値を合計する関数です。
SUMIF(範囲, 条件, 合計範囲)
最初の範囲には、条件を調べるセル範囲を指定します。
条件には、「りんご」のような文字列、1000以上のような比較条件、セル参照を入力します。
合計範囲には、実際に合計したい数値のセル範囲を指定する仕組みです。
たとえば、A列に商品名、C列に売上金額があり、F2セルに集計したい商品名が入力されているとします。
この場合の数式は、次のようになります。
=SUMIF(A2:A100,F2,C2:C100)
この数式では、A2からA100まででF2と同じ商品名を探し、該当する行のC2からC100の金額を合計します。
条件範囲と合計範囲は、開始位置をそろえることが重要です。
たとえば条件範囲をA2:A100にした場合、合計範囲もC2:C100のように2行目から始めます。
条件範囲がA1:A100で合計範囲がC2:C100のようにずれると、意図しない行を集計する原因になります。
商品名を直接数式へ入力することも可能ですが、条件をセル参照にしておくと、商品名を書き換えるだけで集計結果を切り替えられます。
集計表を作るときは、条件として使うセルを別に用意する方法が便利でしょう。
【操作のポイント】SUMIFの条件範囲と合計範囲は、行数だけでなく先頭行も同じ位置にそろえます。
別シート名を指定する数式
続いては、別シートに保存された売上データをSUMIFで集計する方法を確認していきます。
ここでは、シート名を「売上データ」、集計用のシートを「集計表」とします。
| 売上データ A列 | 売上データ C列 |
|---|---|
| りんご | 1200 |
| みかん | 850 |
| りんご | 2400 |
集計表シートのF2セルに「りんご」が入力されている場合、次の数式で売上を合計できます。
=SUMIF(売上データ!A2:A100,F2,売上データ!C2:C100)

「売上データ!A2:A100」は、売上データシートのA2からA100を参照するという意味です。
シート名とセル番地の間にある「!」は、どのシートのセルを使うかを示す記号になります。
参照元シートと数式を入力するシートが別でも、SUMIFの考え方自体は同じです。
シート名に空白が含まれる場合は、シート名を半角のシングルクォーテーションで囲みます。
=SUMIF(‘売上 データ’!A2:A100,F2,’売上 データ’!C2:C100)
たとえば「2026年 4月」のように空白入りのシート名を使っている場合も、同じ書き方が必要です。
数式入力中に別シートの範囲をマウスで選択すると、Excelがシート名の記述を自動で作成してくれます。
記号の入力ミスを防ぎたい場合は、数式バーから参照範囲を選択する方法も有効です。
【操作のポイント】別シート参照では、シート名の直後に「!」を付け、空白入りのシート名はシングルクォーテーションで囲みます。
相対参照と絶対参照による数式コピー
続いては、複数の商品を縦に並べた集計表へSUMIFをコピーする設定を確認していきます。
集計表のE列に商品名、F列に集計結果を表示する場合、F2セルには次の数式を入力します。
=SUMIF(売上データ!$A$2:$A$100,E2,売上データ!$C$2:$C$100)

この数式のE2は相対参照なので、F2を下へコピーするとE3、E4のように自動で変化します。
一方、売上データ側の範囲には「$」を付けた絶対参照を使っています。
これにより、数式を下方向へコピーしても、条件範囲と合計範囲がA2:A100、C2:C100のまま固定されます。
一覧表へ数式をオートフィルする場合、元データの範囲は絶対参照にするのが基本です。
「$」を付けずにコピーすると、2行目ではA2:A100でも、3行目ではA3:A101へずれてしまいます。
データの最終行まで正しく集計できない可能性があるため、コピー前に参照形式を確認しましょう。
F2セル右下の小さな四角形であるフィルハンドルをダブルクリックすると、隣接するE列の入力範囲に合わせて数式を自動コピーできます。
表の途中に空白がある場合は、フィルハンドルをドラッグして必要な行までコピーする方法が確実です。
【操作のポイント】条件セルだけを相対参照にし、別シートの集計範囲は「$」付きの絶対参照で固定します。
エクセルSUMIFで複数列を合計する数式
続いては、横に並んだ複数列の数値をSUMIFで集計する考え方を確認していきます。
| 担当者 | 4月売上 | 5月売上 |
|---|---|---|
| 田中 | 120000 | 135000 |
| 佐藤 | 98000 | 110000 |
SUMIFを足し算でつなぐ方法

複数列を対象にしたいとき、もっとも分かりやすい方法は、列ごとのSUMIFを足し算で連結する方法です。
たとえばA列が担当者、C列が4月売上、D列が5月売上で、F2セルに担当者名があるとします。
=SUMIF($A$2:$A$100,F2,$C$2:$C$100)+SUMIF($A$2:$A$100,F2,$D$2:$D$100)
この数式は、まず田中の4月売上を集計し、次に田中の5月売上を集計してから、二つの結果を加算します。
集計対象の列が二つや三つ程度なら、SUMIFを足し算でつなぐ方法は数式の意味を確認しやすい構成です。
4月から6月までの3列を集計する場合は、同じ形式でSUMIFを三つ並べます。
=SUMIF($A$2:$A$100,F2,$C$2:$C$100)+SUMIF($A$2:$A$100,F2,$D$2:$D$100)+SUMIF($A$2:$A$100,F2,$E$2:$E$100)
ただし、対象月が増えるほど数式は長くなります。
月別列が毎月増える管理表では、あとから数式を修正する手間も考慮しましょう。
横方向に広がる表を扱うときは、データの構造自体を縦型へ変更したほうが、将来的な集計が簡単になる場合もあります。
【操作のポイント】少数の列を横断する場合は、各列のSUMIFを「+」で連結すると確認しやすくなります。
SUMPRODUCTで複数列をまとめて集計する方法

続いては、複数列の合計を一つの数式にまとめたい場合のSUMPRODUCTを確認していきます。
SUMPRODUCTは、対応する配列を掛け合わせて合計する関数です。
条件に一致した行だけを1、それ以外を0として扱うことで、複数列の金額をまとめて集計できます。
=SUMPRODUCT(($A$2:$A$100=F2)*($C$2:$E$100))
この数式では、A2:A100がF2と一致する行を判定しています。
一致した行はTRUEとして扱われ、計算時には1になります。
一致しない行はFALSEとなり、計算時には0になるため、C列からE列までの金額は合計に含まれません。
SUMPRODUCTは、同じ条件で複数列を一括集計したいときに便利な関数です。
SUMIFを何個もつなぐより短い数式にできますが、範囲の大きさには注意が必要です。
A2:A100とC2:E100は、どちらも2行目から100行目までを対象にしています。
行数が一致していないと、エラーや想定外の計算結果につながることがあります。
また、SUMPRODUCTでは列全体参照のA:AやC:Eを使うと、ブックが重くなることがあります。
実務では、データ件数に合わせてA2:A1000のような範囲を指定するのが無難です。
【操作のポイント】SUMPRODUCTでは、条件範囲と集計する複数列の開始行と終了行を必ず一致させます。
横持ちデータと縦持ちデータの違い
続いては、複数列集計で迷いやすい表の形について確認していきます。
4月、5月、6月の売上を横方向の列へ並べる表は、月別の比較がしやすい一方で、関数が複雑になりやすい形式です。
一方で、月、担当者、売上をそれぞれ縦方向の列として記録する表は、縦持ちデータと呼ばれます。
| 月 | 担当者 | 売上 |
|---|---|---|
| 4月 | 田中 | 120000 |
| 5月 | 田中 | 135000 |
縦持ちデータなら、担当者別の合計は通常のSUMIFだけで処理できます。
=SUMIF($B$2:$B$100,F2,$C$2:$C$100)
後から月や商品、部門などの条件を増やす可能性がある表は、縦持ちで管理すると集計しやすくなります。
ピボットテーブルやSUMIFSとも相性がよく、集計項目の追加にも柔軟に対応できます。
現在の表をすぐに変更できない場合はSUMPRODUCTやSUMIFの足し算を使い、次回以降のデータ設計で縦持ちを検討する流れが現実的でしょう。
【操作のポイント】継続的に集計する表は、項目を列、記録を行に並べる縦持ち形式にすると関数が簡潔になります。
エクセルSUMIFとSUMIFSの使い分け
続いては、条件が一つの場合と複数の場合におけるSUMIFとSUMIFSの使い分けを確認していきます。
| 担当者 | 商品 | 売上 |
|---|---|---|
| 田中 | りんご | 1200 |
| 田中 | みかん | 850 |
SUMIFS関数の基本構文
SUMIFは条件を一つだけ指定する関数ですが、担当者と商品、担当者と月のように複数の条件で集計したい場合はSUMIFSを使います。
SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2)
SUMIFSはSUMIFと引数の順番が異なります。
SUMIFでは最初に条件範囲を指定しますが、SUMIFSでは最初に合計範囲を指定する点が大切です。
たとえば、売上データシートのA列が担当者、B列が商品名、C列が売上で、F2に担当者、G2に商品名を入力する場合は次の数式です。
=SUMIFS(売上データ!$C$2:$C$100,売上データ!$A$2:$A$100,F2,売上データ!$B$2:$B$100,G2)
SUMIFSでは、すべての条件を満たす行だけが合計対象になります。
この例では、担当者が田中で、なおかつ商品名がりんごである売上だけが集計されます。
条件範囲と合計範囲の行数は同じにそろえる必要があります。
SUMIFSを使えば、地域、店舗、商品、日付など複数の条件を加えて、必要な数字を絞り込めます。
【操作のポイント】条件が二つ以上ある集計では、SUMIFではなくSUMIFSを使用し、最初の引数に合計範囲を指定します。
別シートの複数条件集計
続いては、別シートにあるデータを複数条件で集計する方法を確認していきます。
集計表シートで、F2に担当者名、G2に商品名を入力し、売上データシートを参照するケースです。
=SUMIFS(売上データ!$C$2:$C$100,売上データ!$A$2:$A$100,$F2,売上データ!$B$2:$B$100,G$2)
このように列と行の一方だけを固定する参照を混合参照と呼びます。
$F2はF列を固定し、下へコピーしたときには行番号が変わります。
G$2は2行目を固定し、右へコピーしたときには列記号が変わります。
担当者を縦方向、商品を横方向に並べたクロス集計表では、混合参照が役立ちます。
表のコピー方向を先に考えると、絶対参照、相対参照、混合参照を適切に決めやすくなります。
下方向だけにコピーする表なら、条件セル以外を絶対参照にする基本形で問題ありません。
縦横の両方へコピーする表では、固定したい列や行だけに「$」を付けます。
数式を入力した後、F4キーを押すと参照形式を切り替えられます。
数式バーで「$」の位置を確認しながら操作すると、コピー後のずれを減らせるでしょう。
【操作のポイント】クロス集計表では、縦に並ぶ条件は列固定、横に並ぶ条件は行固定にするとオートフィルしやすくなります。
日付条件と比較演算子の指定
続いては、期間を指定して別シートの売上を集計する方法を確認していきます。
日付が売上データシートのD列に入力されていて、F2に開始日、G2に終了日がある場合、SUMIFSで月間売上や任意期間の売上を求められます。
=SUMIFS(売上データ!$C$2:$C$100,売上データ!$D$2:$D$100,”>=”&F2,売上データ!$D$2:$D$100,”<=”&G2)
開始日以上という条件は、「>=」と開始日セルを「&」でつなげて指定します。
終了日以下も同じ考え方です。
比較演算子とセル参照を組み合わせる場合は、演算子をダブルクォーテーションで囲み、「&」でセルと連結します。
F2やG2に見た目だけ日付の文字列が入っていると、正しく計算できない場合があります。
セルの表示形式を日付に設定し、Excelが日付として認識していることを確認しましょう。
終了日を月末に設定する場合は、EOMONTH関数を組み合わせる方法もあります。
月初日をF2に入力し、月末日をG2に求めることで、毎月の集計を再利用しやすくなります。
【操作のポイント】日付による期間集計では、「>=」や「<=」を文字列として入力し、「&」で日付セルを結合します。
別シート参照の数式入力とオートフィル
続いては、別シート参照の数式を入力し、一覧表へオートフィルする操作を確認していきます。
| 集計表 E列 | 集計表 F列 |
|---|---|
| りんご | 数式を入力 |
| みかん | オートフィルでコピー |
数式バーから別シート範囲を選択する手順
数式を手入力すると、シート名や「!」の入力を間違えることがあります。
そのようなときは、数式を入力しながら別シートをクリックして範囲を選択すると安全です。
まず集計結果を表示したいセルを選び、「=SUMIF(」まで入力します。
次に、画面下部のシート見出しから売上データシートをクリックします。
条件範囲であるA2:A100をドラッグし、カンマを入力して集計表シートへ戻り、条件セルをクリックします。
もう一度売上データシートへ移動して合計範囲を選択し、閉じかっこを入力してEnterキーを押します。
数式の途中でシートを切り替えても、Excelは参照先のシート名とセル番地を自動入力します。
数式が完成したら、数式バーで範囲に「$」を追加するか、F4キーで絶対参照へ切り替えます。
条件セルを選択するときは、コピー先に合わせて相対参照または混合参照に整えましょう。
【操作のポイント】別シートのセル範囲は、数式入力中に実際のシートを開いてドラッグ選択すると入力ミスを抑えられます。
フィルハンドルによる数式コピー
続いては、最初の数式を下の行へコピーするフィルハンドルの操作を確認していきます。
F2セルに数式を入力したら、セルの右下にポインターを合わせます。
ポインターの形が黒い十字へ変わった位置がフィルハンドルです。
そこを下方向へドラッグすると、数式がコピーされます。
隣のE列に商品名が連続して入力されている場合は、フィルハンドルをダブルクリックする方法もあります。
Excelが隣接するデータ範囲を判断し、最終行まで数式を自動入力します。
コピー後は、F3セル以降の条件セルだけがE3、E4へ変化しているかを必ず確認しましょう。
別シートの範囲まで動いていた場合は、絶対参照の設定が不足しています。
先頭の数式を修正してから、改めてオートフィルを実行します。
テーブル機能を使っているデータでは、数式を入力した列全体へ自動反映されることもあります。
通常のセル範囲とテーブルでは動作が異なるため、数式の反映範囲を見ながら操作しましょう。
【操作のポイント】コピー後の先頭数行を選択し、数式バーで条件セルだけが連動して変化するか確認します。
数式入力画面のイメージ
続いては、別シートを参照するSUMIF数式を入力してオートフィルする画面イメージを確認していきます。
数式バーには、選択中のF2セルへ入力されたSUMIF数式が表示されています。
赤枠のセルを起点にしてフィルハンドルを下へ引くと、E列の商品名に対応する集計結果を表示できます。
操作後にF3セルを選択し、条件の参照がE3になっていることを確認すると安心です。
【操作のポイント】先頭セルで数式を完成させ、範囲固定を確認してからフィルハンドルで下方向へコピーします。
SUMIFで集計できない場合の確認項目
続いては、SUMIFの結果が0になる、合計が合わないといった場合の確認項目を解説していきます。
| 確認項目 | 主な原因 |
|---|---|
| 結果が0 | 文字列の不一致、数値が文字列 |
| 合計がずれる | 範囲の開始行やコピー参照のずれ |
条件文字列の空白と表記ゆれ
SUMIFの結果が0になる原因として多いのが、条件文字列の表記ゆれです。
見た目は同じ「りんご」でも、末尾に半角スペースや全角スペースがあると、Excelでは別の文字列として扱われます。
「田中」と「田中 」も一致しません。
SUMIFは文字列を完全一致で判定するため、余分な空白や異なる記号があると集計対象から外れます。
元データに不要な空白が入りやすい場合は、TRIM関数で半角スペースを整理する方法があります。
全角スペースを含む場合は、SUBSTITUTE関数を組み合わせて置換することも検討しましょう。
=TRIM(SUBSTITUTE(A2,” ”,” “))
この数式は、全角スペースを半角スペースに置き換えた後、連続する余分なスペースを整理します。
データの入力規則で選択肢を用意すると、担当者名や商品名の表記ゆれを予防できます。
集計式を複雑にする前に、元データの表記をそろえることが大切です。
【操作のポイント】条件に一致しないときは、見えない空白、全角半角、記号の違いを元データと条件セルの両方で確認します。
数値が文字列として保存されている状態
合計範囲に見える数値が文字列として保存されていると、SUMIFで正しく合計できないことがあります。
セルの左上に緑色の三角形が表示されている場合は、数値が文字列として扱われている可能性があります。
対象セルを選択し、警告アイコンから「数値に変換」を選択すると修正できます。
インポートしたCSVデータでは、数字の前後に空白が入っていたり、文字列形式で読み込まれたりする場合があります。
SUMIFの合計範囲には、Excelが数値として認識している値を入れる必要があります。
数値かどうかを確認するには、別セルでISNUMBER関数を使います。
=ISNUMBER(C2)
結果がTRUEなら数値、FALSEなら文字列などの数値以外として認識されています。
VALUE関数で文字列を数値へ変換する方法もありますが、元データ側を修正するほうが管理しやすいでしょう。
金額列に「円」などの文字を直接入力している場合は、数値表示形式で円記号を表示する方法へ変更すると集計しやすくなります。
【操作のポイント】金額セルは文字を含めず数値として保存し、単位は表示形式で設定すると関数集計が安定します。
参照範囲とエラー表示の確認
続いては、数式の参照範囲に関するエラーを確認していきます。
SUMIFでは、条件範囲と合計範囲の位置関係がずれると、別の行の値を合計することがあります。
たとえばA2:A100を条件範囲にしているなら、C2:C100を合計範囲に指定する必要があります。
A3:A100とC2:C100のような設定は避けましょう。
数式をコピーした後に結果が異常な場合は、数式バーで「$」の有無と開始セルの位置を確認します。
#VALUE!エラーが表示される場合は、SUMPRODUCTで配列の行数が異なっていることも考えられます。
#REF!エラーは、参照していたシートや列を削除した場合に起こりやすいエラーです。
別シートを削除または名前変更した後は、集計表の数式を確認しましょう。
データが増えたのに集計結果へ反映されない場合は、A2:A100のような範囲の最終行が足りていない可能性があります。
Excelテーブルを利用して構造化参照にすると、データの追加に合わせて範囲が拡張されるため、更新漏れを減らせます。
【操作のポイント】エラーや集計漏れが出たときは、参照先シート、開始行、絶対参照、データ最終行の順に確認します。
まとめ エクセルSUMIFで複数列や別シートを集計する方法
エクセルSUMIFで別シートや複数列を集計する方法をまとめます。
別シートを参照するSUMIFでは、シート名の後ろに「!」を付けて条件範囲と合計範囲を指定します。
数式をコピーする集計表では、元データの範囲を絶対参照にし、条件セルはコピー方向に応じて相対参照または混合参照に設定することが重要です。
複数列の合計では、対象列が少なければSUMIFの足し算、横に広い範囲をまとめるならSUMPRODUCTを使えます。
条件が二つ以上ある場合は、SUMIFSへ切り替えると、担当者別、商品別、期間別などの集計を正確に行えます。
集計結果が0や想定外の数値になるときは、表記ゆれ、数値の文字列化、参照範囲のずれを確認しましょう。
日常的に集計するデータは、項目を列、記録を行に配置した縦持ち形式で管理すると、SUMIFやSUMIFSを活用しやすくなります。
まずは別シートを参照する基本のSUMIFから試し、必要に応じて複数条件や複数列の集計へ広げていきましょう。