メインコンテンツへスキップ

年ごとにExcelで値を合計する

Author: Xiaoyang Last Modified: 2025-08-06

日付と売上金額のリストを含むデータ範囲があると仮定し、以下のように特定の年に基づいて合計金額を求めたいとします。Excelでは、通常のSUMIFS関数とSUMPRODUCT関数を使用してこのタスクを迅速かつ簡単に解決できます。このチュートリアルでは、これら2つの関数の使用方法を詳しく説明します。

doc-sum-by-year-1


SUMIFSとDATE関数を使用してExcelで年ごとに値を合計する

指定された年に基づいて合計値を得るには、DATE関数を使用してその年の最初と最後の日付を指定し、その後SUMIFS関数を使用して指定された日付範囲内のすべての値を合計します。一般的な構文は次の通りです:

=SUMIFS(合計範囲,日付範囲,">="&DATE(年,1,1),日付範囲,"<="&DATE(年,12,31))
  • 合計範囲: 合計される値の範囲;
  • 日付範囲: 特定の年に対してテストされる日付の範囲;
  • : 値を合計したい特定の年。(年, 1,1 はその年の最初の日を示し、 年,12,31 はその年の最後の日を示します。

このタスクをExcelで解決するには、以下の数式を空白のセルにコピーまたは入力し、他のセルに結果を得るために数式を下にドラッグしてください:

=SUMIFS($C$2:$C$12,$B$2:$B$12,">="&DATE(E2,1,1),$B$2:$B$12,"<="&DATE(E2,12,31))

doc-sum-by-year-2


この数式の説明:

=SUMIFS($C$2:$C$12,$B$2:$B$12,">="&DATE(E2,1,1),$B$2:$B$12,"<="&DATE(E2,12,31))

  • $C$2:$C$12: 合計したい値が含まれている「合計範囲」です。
  • $B$2:$B$12,">="&DATE(E2,1,1): 範囲 B2:B12 の日付が、E2 セルにある年の最初の日(2020年1月1日)以上であるかどうかを確認します。
  • $B$2:$B$12,"<="&DATE(E2,12,31): 範囲 B2:B12 の日付が、E2 セルにある年の最後の日(2020年12月31日)以下であるかどうかを確認します。
  • SUMIFS($C$2:$C$12,$B$2:$B$12,">="&DATE(E2,1,1),$B$2:$B$12,"<="&DATE(E2,12,31)): 条件を満たした後、範囲 C2:C12 内の値が見つけられ、合計されます。

SUMPRODUCT関数を使用してExcelで年ごとに値を合計する

ここでは、SUMPRODUCT関数によって作成された別のシンプルな数式も役立ちます。一般的な構文は次の通りです:

=SUMPRODUCT((YEAR(日付範囲)=年)*合計範囲)
  • 日付範囲: 特定の年に対してテストされる日付の範囲;
  • : 値を合計したい特定の年;
  • 合計範囲: 合計される値の範囲。

以下の数式を空白のセルにコピーまたは入力し、他のセルに結果を得るために数式を下にドラッグしてください:

doc-sum-by-year-3


この数式の説明:

=SUMPRODUCT((YEAR($B$2:$B$12)=E2)*$C$2:$C$12)

  • YEAR($B$2:$B$12)=E2: YEAR関数は、範囲 B2:B12 の各日付セルから年番号を返します。この式は、E2 の年が範囲 B2:B12 の年と等しいかどうかを確認します。そして、次のような配列が得られます:{TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE}。
  • (YEAR($B$2:$B$12)=E2)*$C$2:$C$12={TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE}*$C$2:$C$12: この式では、TRUEとFALSEはそれぞれ1と0に変換され、この配列は範囲 C2:C12 の各金額に掛けられ、次のような新しい配列が得られます:{347;0;398;430;0;379;412;0;0;420;0} 。
  • SUMPRODUCT((YEAR($B$2:$B$12)=E2)*$C$2:$C$12)= SUMPRODUCT({347;0;398;430;0;379;412;0;0;420;0}): 最後に、SUMPRODUCT関数はこの配列内のすべての数字を加算し、結果として2386を返します。

関連する関数:

  • SUMIFS:
  • ExcelのSUMIFS関数は、複数の条件に基づいてセルの値を合計するのに役立ちます。
  • SUMPRODUCT:
  • SUMPRODUCT関数は、2つ以上の列や配列を乗算し、その後積の合計を得るために使用できます。
  • DATE:
  • DATE関数は、個別のセルから年、月、日の数字を結合して有効な日付を作成するのに役立ちます。
  • YEAR:
  • YEAR関数は、指定された日付に基づいて4桁のシリアル番号形式で年を返します。

関連記事:


最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。