Excelで条件に基づいて一意の値を合計するにはどうすればよいですか?
注文ログ、財務記録、アンケート結果などのExcelデータセットを扱う場合、ある列のフィルタや条件に基づいて別の列から一意の値の合計を計算する必要がしばしばあります。例えば、「名前」と「注文」の2列を持つデータテーブルがあるとします。各「名前」ごとに重複を無視して一意の「注文」値のみを合計したい場合、Excelでこれを効率的に達成するにはどのようにすればよいでしょうか?これは、単純にすべての一致する項目を合計すると重複によって結果が膨らんでしまうため、多くのビジネスやデータ分析のシナリオで一般的な要件です。
以下のサンプルスクリーンショットは、典型的なシナリオを示しています。重複を含む名前のリストとそれに対応する注文値が与えられたとき、それぞれの名前ごとに一意の注文値を合計してデータを要約したいと考えています。
このタスクにおける一般的な課題には、特定の条件に基づいて一意のエントリを識別すること、最初の出現のみがカウントされるようにすること、そしてフィルタリングされたデータをコピーして貼り付ける際に発生する手動エラーを防ぐことが含まれます。配列数式、Kutools、Power Queryなど、いくつかの実用的なExcelアプローチがこの問題を解決するのに役立ちます。それぞれ異なる使用場面に適しています。
- 1つまたは複数の条件に基づいて一意の値を合計するには配列数式を使用
- Kutools for Excelの高度な行のマージ機能を使用して条件に基づいて一意の値を合計する
- その他の組み込みExcelメソッド: 一意の合計分析のためにピボットテーブルを使用する
<h4"> 1つまたは複数の条件に基づいて一意の値を合計するには配列数式を使用
柔軟性と効果が高いアプローチの1つは、配列数式を使用することです。これにより、特定の条件を満たす一意の値を要約できます。特に、データや条件が変わったときに計算が自動的に更新されるようにしたい場合に有効です。
ある列のフィルタまたは条件に基づいて、一意の値のみを合計するには、次の数式を使用できます:
1. 空白のセル(例:E2)に次の数式を入力します:
=SUM(IF(FREQUENCY(IF($A$2:$A$12=D2,MATCH($B$2:$B$12,$B$2:$B$12,0)),ROW($B$2:$B$12)-ROW($B$2)+1),$B$2:$B$12))
数式を確認する前に、次の点を慎重にチェックしてください:
- A2:A12: 条件(この場合は名前)を含む範囲。
- D2: 対象となる条件(特定の名前など)が入力されているセル。
- B2:B12: 一意に合計したい値の範囲。
これらの範囲は、実際のデータ構造に基づいて必要に応じて調整できます。エラーを避けるために、すべての範囲が同じ長さであることを確認してください。
2. 入力後、Ctrl + Shift + Enterを同時に押して配列数式をアクティブにします。数式の周りに波括弧が表示され、これが配列数式であることを示します。その後、要約列内の対応する値ごとに数式をコピーするために塗りつぶしハンドルをドラッグします。これにより、各項目に正しい一意の合計が自動的に割り当てられます。
実践的なヒント: Excel 365またはExcel 2021を使用している場合、UNIQUEやSUMIFSのような新しい動的配列関数がこれらの計算をさらに簡略化できるかもしれませんが、上記の数式は多くのExcelバージョンで確実に動作します。
=SUMIF(A2:B12, UNIQUE(D2), B2:B12)
より多くの条件に対処する: =SUM(SUMIFS(sum_range, criteria_range1, UNIQUE(criteria_range1), [criteria_range2, criteria2], ...)
注意事項:
- Excel 2019以前をお使いの場合は、必ず配列数式として入力してください(Ctrl + Shift + Enter)。Excel 365/2021では、動的数式に対して通常のEnterキーで十分な場合があります。
- データ範囲が非常に大きい場合、配列アプローチが遅くなる可能性があるため、まずデータをフィルタリングするか、非常に大きなデータセットには他の方法を検討してください。
- 余分なスペースやデータ型の一貫性に注意してください—不均一なテキスト形式や数字の書式設定が一致しないエラーを引き起こす可能性があります。
ヒント: 2つの条件に基づいてすべての一意の値を合計する必要がある場合、次の配列数式の拡張を使用できます:
=SUM(IF(FREQUENCY(IF($A$2:$A$12=E2,IF($B$2:$B$12=F2,MATCH($C$2:$C$12,$C$2:$C$12,0))),ROW($C$2:$C$12)-ROW($C$2)+1),$C$2:$C$12))
この数式も基本的には似ていますが、B列からの追加のフィルタ(現在はF2を第2条件として比較)をサポートし、C列から一意の値を合計します。選択した要約セルにこの数式を入力した後、Ctrl + Shift + Enterを押して確認し、必要に応じて他の要約行にも適用します。
まとめの提案: 配列数式はほとんどのシナリオで正確な結果を提供しますが、隠れた重複(余分なスペースやテキスト形式の違いによるもの)がないか常に二重チェックし、要約エリアが正確にフィルタリングされたリストから取得されることを確認してください。

Kutools AIでExcelの魔法を解き放つ
- スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
- カスタム数式: ワークフローを合理化するための独自の数式を生成します。
- VBAコーディング: 簡単にVBAコードを作成し実装します。
- 数式の解釈: 複雑な数式を簡単に理解できます。
- テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
Kutools for Excelの高度な行のマージ機能を使用して条件に基づいて一意の値を合計する
Kutools for Excelの高度な行のマージ機能により、特定の条件に基づいて一意の値のみを簡単に合計できます!ほんの数回のクリックで、インテリジェントにデータをグループ化し、カスタムの要約ロジックを適用します—数式不要、簡単で正確な結果が得られます。
ステップ1: データテーブルを選択する
ヘッダーを含むテーブル全体を選択します。
ステップ2: Kutools > テキスト > 高度な行のマージに移動します。
ステップ3: グループ化列を設定する
ポップアップダイアログで、グループ化したい列(例:フルーツ)を選択し、操作セクションで主キーとして設定します。
ステップ4: 一意の合計フィールドを設定する
売上列を選択し、操作セクションで必要な計算(例:合計)を設定します。
ヒント: ダイアログで結合結果をプレビューできます。
ステップ5: OKをクリックすると、テーブルが顧客ごとにグループ化され、それぞれに一意の商品金額の合計が表示されます。
??Kutools for Excelは、300以上の強力な機能を提供し、生産性を向上させます — すべての機能を30日間無料でお試しいただけます!
その他の組み込みExcelメソッド: 一意の合計分析のためにピボットテーブルを使用する
Excelのピボットテーブル機能は、条件に基づいてデータを要約するもう一つの強力な組み込みアプローチを提供します。ピボットテーブルはデフォルトでは一意の値を直接合計しませんが、Excel2013以降ではDistinct Count計算をサポートしており、指定されたフィールドの一意のエントリ数を分析するのに役立ちます。これにより、一意の値の合計を直接計算することはできませんが、Distinct Countを手動調整や計算フィールドと組み合わせて類似の要約を作成できます。
利点: ピボットテーブルは数式の暗記やVBAコーディングを必要とせず、非常に柔軟なドラッグ&ドロップインターフェースを提供します。定期的なレポート、グループ分析、素早い概要、またはチーム間での共同作業に適しています。ただし、これらはさらなる計算や自動化のための数式構築には適さず、主に要約と分析に最適です。
ピボットテーブルを使用して一意の合計分析を行う方法は次のとおりです:
- データ範囲(例:ヘッダーを含むA1:B12など)を選択し、挿入 > ピボットテーブルに移動します。ダイアログで、ピボットテーブルを新しいワークシートまたは既存のワークシートに配置するかを選択します。
- ピボットテーブルフィールドリストで、名前を行エリアに、注文を値エリアにドラッグします。
- 注文エントリについて、ドロップダウン矢印 > 値フィールドの設定 > 合計に設定します(重複を含む注文合計を表示します)。
制限事項:
- Distinct Count機能はExcel2013以降でのみ利用可能です。古いバージョンではさらに手作業が必要です。
まとめると、ピボットテーブルはインタラクティブな要約や分析に優れていますが、真の一意の合計計算が必要な場合は、数式またはVBAベースのアプローチと組み合わせることを検討してください。
関連記事:
- Excelで1つの条件に基づいて複数の列を合計する
- Excelで、1つの条件に基づいて複数の列を合計する必要がよくあります。例えば、以下のスクリーンショットに示すようなデータの範囲があり、3ヶ月(1月、2月、3月)でKTEの合計値を求めたいとします。
- ExcelでVlookupと行または列の合計を一致させる
- vlookupとsum関数を使用することで、指定された条件を迅速に見つけ、同時に該当する値を合計することができます。この記事では、Excelで行または列の最初またはすべての一致する値をvlookupして合計する2つの方法を紹介します。
- Excelで月と年に基づいて値を合計する
- 列Aにいくつかの日付があり、列Bには注文数があるデータの範囲がある場合、別の列に基づいて月と年で数値を合計する必要があります。例えば、2016年1月の総注文数を計算して以下の結果を得たいとします。この記事では、Excelでこのジョブを解決するためのいくつかのコツについて説明します。
- Excelでテキスト条件に基づいて値を合計する
- Excelで、他の列のテキスト条件に基づいて値を合計しようとしたことがありますか?例えば、以下のスクリーンショットに示すように、ワークシートにデータの範囲があり、列Aのテキスト値が特定の条件を満たす場合に列Bの対応する数値をすべて合計したいとします。たとえば、列AのセルにKTEが含まれている場合、その数値を合計します。
- Excelでドロップダウンリストの選択に基づいて値を合計する
- 以下のスクリーンショットに示すように、カテゴリ列と金額列を含むテーブルがあり、すべてのカテゴリを含むデータ検証ドロップダウンリストが作成されています。ドロップダウンリストから任意のカテゴリを選択すると、列Bの対応するすべてのセル値を合計し、指定されたセルに結果を表示したいとします。例えば、ドロップダウンリストからカテゴリCCを選択すると、セルB5とB8の値を合計して40+70=110の合計を得る必要があります。これを達成するにはどうすればよいですか?この記事の方法が役立ちます。
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!