ExcelのSUMIF関数を使って日付や数値を集計していると、条件に一致しているはずのセルとは違う結果が表示されることがあります。特に、検索範囲と合計範囲の位置がずれている場合、原因が分かりにくい結果になることがあります。
この記事では、SUMIF関数で「指定した日付ではなく1日前の日付が表示される」といった現象が起きる理由と、検索範囲・合計範囲の正しい指定方法について詳しく解説します。
SUMIF関数の基本的な仕組みを確認する
SUMIF関数は、指定した範囲の中から条件に一致するセルを探し、対応する別の範囲のセルを合計する関数です。
基本的な書式は以下のようになります。
=SUMIF(検索範囲,条件,合計範囲)
重要なのは、SUMIFは「条件に一致したセル自身を返す関数」ではなく、「検索範囲で見つかった位置と同じ位置にある合計範囲の値を合計する関数」であるという点です。
つまり、検索範囲と合計範囲の開始位置がずれていると、Excelは別のセルを参照することになります。
検索範囲と合計範囲がずれると何が起こるのか
今回のようなケースでは、検索範囲が「A2:A6」、合計範囲が「A1:A6」となっています。
SUMIFは検索範囲A2:A6の中で条件に一致するセルを探します。2026/7/14はA6に存在するため、検索範囲内では5番目の位置になります。
しかし、合計範囲A1:A6では、A6は同じ5番目の位置ではありません。検索範囲A2:A6と合計範囲A1:A6では、開始セルが1行ずれているため、対応するセルも1行ずれます。
A1:A6を合計範囲にした場合に2026/7/13になる理由
検索範囲A2:A6と合計範囲A1:A6を対応させると、Excel内部では次のような対応になります。
| 検索範囲 | 合計範囲 |
|---|---|
| A2 | A1 |
| A3 | A2 |
| A4 | A3 |
| A5 | A4 |
| A6 | A5 |
条件に一致したのはA6ですが、その位置に対応する合計範囲のセルはA5になります。
A5には2026/7/13が入力されているため、結果としてSUMIFは2026/7/13を返します。Excelが間違った計算をしているのではなく、指定された範囲の対応関係通りに処理しています。
合計範囲をA2:A6にすると正しい結果になる理由
次に、合計範囲をA2:A6に変更した場合を考えます。
=SUMIF($A$2:$A$6,DATE(2026,7,14),$A$2:$A$6)
この場合、検索範囲と合計範囲の開始位置が同じなので、検索範囲A6に一致した場合、合計範囲でもA6が対応するセルになります。
そのため、A6に入力されている2026/7/14が結果として返されます。
SUMIF関数を使うときの注意点
SUMIFを利用するときは、検索範囲と合計範囲の大きさだけでなく、開始位置も必ず合わせることが重要です。
例えば、検索範囲をB2:B100に設定するなら、合計範囲もC2:C100のように同じ行番号から始める必要があります。
開始位置が1行でもずれると、意図しないデータを集計する原因になります。
日付データをSUMIFで扱う場合の確認ポイント
日付はExcel内部ではシリアル値という数値として管理されています。そのため、見た目が同じ日付でも、文字列として入力されている場合は条件一致しないことがあります。
今回のように日付そのものが返される場合は、SUMIFの範囲指定が原因である可能性が高いですが、日付を条件に使う場合はセルの表示形式やデータ形式も確認すると安心です。
例えば「2026/7/14」と入力したつもりでも、文字列扱いになっている場合はSUMIFの条件検索で一致しないことがあります。
まとめ
SUMIF関数は、条件に一致したセルをそのまま返す関数ではなく、検索範囲で見つかった位置に対応する合計範囲のセルを集計する関数です。
検索範囲がA2:A6、合計範囲がA1:A6のように開始位置がずれていると、条件一致したA6ではなく対応するA5の値が結果になります。
SUMIFを正しく使うには、検索範囲と合計範囲の開始セルをそろえることが大切です。範囲指定を確認するだけで、Excelの不思議な結果の多くは解決できます。


コメント