担当者別・月別の売上を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を活用し、入力と結果の照合・修正を行ってお渡ししています。