SUMIFSの合計が「0」や少なすぎる時に、上から順に確かめる5つ

記事
IT・テクノロジー
担当者別・月別の売上をSUMIFSで集計したら、なぜか0。あるいは、元の表を電卓で足した数字より少ない。エラーが出ないぶん、気づかないまま月末の報告に載ってしまうことがあります。

よくある原因を、確かめやすい順に5つ並べました。GoogleスプレッドシートでもExcelでも同じです。例は、「売上」シートのA列に日付、B列に担当者、C列に金額がある形です。

=SUMIFS(売上!$C$2:$C$1000,売上!$B$2:$B$1000,E2)

■ 1. 引数の順番が SUMIF のままになっていないか

SUMIF と SUMIFS は、合計する範囲の位置が逆です。

- SUMIF(条件範囲, 条件, 合計範囲)
- SUMIFS(合計範囲, 条件範囲, 条件, …)

SUMIF の式を SUMIFS に書き換えた時に、順番をそのままにしていると、担当者名の列を足そうとして0になります。SUMIFS は「最初に、足したい列」と覚えると間違えにくいです。

■ 2. 金額が「文字の数字」になっていないか

CSVやほかのシステムから貼り付けた金額は、見た目は数字でも文字列のことがあります。SUMIFSは文字列を足さないので、その行だけ黙って合計から抜けます。

確かめ方:金額の列の横に =ISNUMBER(C2) を入れて下へコピーします。FALSE の行が文字列です。

直し方:空いている列に =VALUE(C2) を入れて数値にし、その列を合計範囲にします。カンマ付きの「12,000」も VALUE で数値になります。

■ 3. 条件の値に、空白や全角・半角の違いがないか

「山田」と「山田 」(末尾に空白)、「A-100」と「A-100」(全角)は、SUMIFSでは別の値です。条件に合う行が無いので0になります。

確かめ方:=COUNTIFS(売上!$B$2:$B$1000,E2) で、条件に合う行が何件あるかを見ます。0件なら、条件の値が一致していません。

直し方:空いている列に =TRIM(ASC(B2)) を入れ、空白と全角を整えた列を条件範囲にします(ASC は全角の英数字・カタカナを半角にします)。

■ 4. 日付の条件の書き方が合っているか

「10月分だけ」を集計する時に、よくある書き方の間違いは、セルの参照を引用符の中に入れてしまうことです。

誤り:">="&"G1" や ">=G1"
正しい:">="&G1

10月分(G1に10/1、H1に10/31が入っている場合):

=SUMIFS(売上!$C$2:$C$1000,売上!$A$2:$A$1000,">="&G1,売上!$A$2:$A$1000,"<="&H1)

それでも0なら、日付の列が文字列になっていないかを =ISNUMBER(A2) で確かめます。FALSE なら、2と同じく DATEVALUE などで日付に直した列を使います。

■ 5. 範囲の大きさがそろっているか、「$」が付いているか

合計範囲と条件範囲は、同じ行数にします。片方だけ $C$2:$C$1000、もう片方が $B$2:$B$500 だと、エラーになるか、思った範囲で集計されません。

また、$ を付けずに式を下や横へコピーすると、範囲が1行ずつずれ、上の行は合うのに下の行ほど少なくなります。範囲は $C$2:$C$1000 のように固定し、条件のセル(E2 など)だけを動かします。

■ 合計を「答え合わせ」する一行

直したあとは、全体の合計と、担当者別に足した合計が一致するかを確かめると安心です。

=SUM(売上!$C$2:$C$1000)-SUM(F2:F20)

(F2:F20 は担当者別のSUMIFSの結果)が0なら、どの担当者にも入らなかった行はありません。0でなければ、担当者名の表記ゆれか、担当者が空欄の行があります。

――――――――

「5つ確かめても合わない」「自分の表だとどこを直せばいいか分からない」という時は、数式を3つまで作り直すサービスがあります。個人情報を除いた表の見本か、合わない式をメッセージでお送りください。購入前に、3つで足りるかを確認します。

サービス:Excel・スプレッドシートの数式を3つ作ります

毎月の転記や集計そのものを自動にしたい場合は、こちらです。

Office Relayは、数式やGASの作成にAIを活用し、入力と結果の照合・修正を行ってお渡ししています。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す