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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelで列内の特定のセルを合計から除外するにはどうすればよいですか?

Author Siluvia Last modified

Excelでデータを扱う際、特定のセルを意図的にスキップしながら範囲の合計を計算する必要がよくあります。例えば、そのセルに外れ値、エラー、関係のないデータ、または集計から除外したい特定の値が含まれている場合です。下のスクリーンショットのように、数値の列があると想像してください。ただし、A3とA4の値を除いてすべてを合計したいとします。この記事では、Excelで指定された1つまたは複数のセルを除外して範囲を合計するためのさまざまな実用的な方法を包括的に説明し、財務分析、レポート作成、在庫管理などの選択的計算が必要なタスクにおいて、正確な結果を得られるようにします。

a screenshot of the original data range and the cells you want to exclude from a sum


数式を使用して列内のセルを合計から除外する

SUM関数内で簡単な算術を使用することで、計算から不要なセルを直接除外できます。このアプローチは、少数の除外項目を処理する場合に適しており、迅速な計算に役立ちます。以下の手順に従ってください:

1. 合計結果を表示する空白のセルを選択し、次の数式を数式バーに入力してEnterキーを押して、特定のセルを除外しながら合計を計算します。例えば:

=SUM(A2:A7)-SUM(A3:A4)

a screenshot of using formula to exclude the cell A3 and A4 from sum

説明とヒント:

  • SUM(A2:A7)は全体の範囲を計算し、SUM(A3:A4)は除外するセルの値を減算します。これは、除外するセルが連続している場合に最も効果的です。
  • 除外するセルが隣接していない場合でも、複数のセルを簡単に混ぜて減算できます。たとえば、A3とA6を範囲から除外するには、次のように数式を調整します:

=SUM(A2:A7)-A3-A6

a screenshot of using formula to exclude discontinuous cells A3 and A6 from a sum

  • 除外対象が散在していたり多数ある場合、各除外セルを手動でリストアップすると数式が長くなり、管理が難しくなる可能性があります。
  • セル参照には注意してください:データや範囲が変更された場合、エラーを回避するために数式を適切に更新してください。

VBAコード – 指定されたセルをスキップ/除外して範囲の合計をプログラムで計算する

多くの除外項目がある場合や、このプロセスを頻繁に繰り返す必要がある場合には、VBAマクロを使用することで柔軟性と自動化が得られます。VBAを使用すると、指定された範囲を合計し、連続しているかどうかに関係なく任意の数のセルをプログラムで定義して除外できます。この方法は、VBA環境に精通していて、より複雑な除外ロジックを簡素化したいユーザーに適しています。

注意: VBAマクロはワークブックを変更できます。新しいコードを実行する前に必ず作業内容を保存してください。また、上記を実行するにはマクロを有効にする必要があります。

1. 開発ツール > Visual Basicに移動してVBAエディターを開きます。プロジェクトウィンドウでワークブックを右クリックし、挿入 > モジュールを選択して、次のコードをモジュールに貼り付けます:

Sub SumWithExclusions()
    Dim sumRange As Range
    Dim excludeCells As Range
    Dim cell As Range
    Dim result As Double
    Dim xTitleId
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set sumRange = Application.InputBox("Select the range to sum", xTitleId, Type:=8)
    Set excludeCells = Application.InputBox("Select cells to exclude (use Ctrl+Click to select multiple)", xTitleId, Type:=8)
    
    result = 0
    If Not sumRange Is Nothing Then
        For Each cell In sumRange
            If Not Application.Intersect(cell, excludeCells) Is Nothing Then
                ' Skip excluded cells
            Else
                result = result + cell.Value
            End If
        Next
        
        MsgBox "The sum excluding specified cells is: " & result, vbInformation
    Else
        MsgBox "No range selected.", vbExclamation
    End If
End Sub

2. クリック Run button VBAウィンドウで実行をクリックするか、 F5 キーを押してマクロを実行します。ダイアログが表示され、合計する完全な範囲を選択し、次に除外するセルを選択します(Ctrlキーを押しながら複数選択)。マクロは結果をメッセージボックスに表示します。

  • 誤ってセルを選択した場合は、マクロを再実行してください。プロセスはインタラクティブで柔軟です。
  • マクロは日常的なタスクや複雑な基準に基づく除外に最適です。

Excel数式 – SUMIFまたはSUMIFSを使用して除外基準に一致しない値のみを含める

より高度なロジックベースの除外には、SUMIFまたはSUMIFS関数を使用できます。これらの数式は、除外が値や基準に基づいている場合、または除外したい値のリストがある場合に特に便利です。

例 – 特定の値に基づいて除外する

1. A2:A7を合計したいが16という値を除外したい場合、目的のセル(例えばB1)に次の数式を入力します:

=SUMIF(A2:A7,"<>16")

この数式は、範囲A2:A7にあるすべての値を合計しますが、16に等しいものは除外されます。

2. 数式を入力後、Enterキーを押します。必要に応じて範囲やセル参照をコピーしたり調整したりしてください。

例 – セル値に一致するすべてのセルを除外する

C1に除外したい値が含まれていると仮定します:

=SUMIF(A2:A7,"<>"&A3)
注: この数式は、A2:A7内にあるC1の値と等しくないすべての値を合計します。A2:A7内にC1と同じ値を持つ複数のセルがある場合、それらすべてが合計から除外されます。

C1を必要に応じて更新すると、数式はすべての一致する値を動的に除外します。

  • 複数の除外基準やさらに複雑なルールがある場合は、ヘルパーカラムや配列と組み合わせてSUMIFSを使用することを検討してください。ただし、SUMIF/SUMIFSは、除外が特定かつ一貫した基準に基づいている場合に最も効果的であり、任意のセル位置には適していません。
  • 範囲にテキストや空白のセルが含まれている場合、SUMIFはこれらを自動的に無視します。これが意図した動作であることを確認してください。

Excel数式 – FILTER関数(新しいExcelバージョン)を使用して合計する前に除外するセルをフィルタリングする

Microsoft 365またはExcel 2021以降のバージョンを使用している場合、FILTER関数を使用して合計を適用する前にセルを動的かつ柔軟に除外できます。これは特に大規模なデータセットや変動する除外基準に便利です。

例 – 特定の値を除外する(例:16と13)

1. 目的のセル(例:B1)に次の数式を入力します:

=SUM(FILTER(A2:A7,(A2:A7<>16)*(A2:A7<>13)))

これにより、A2:A7にあるすべての値を合計しますが、16および13に等しいものは除外されます。FILTER関数は、それらの値に等しくないセルだけを含む配列を作成し、その後SUMがそれらを合計します。

2. Enterキーを押します。除外またはソースデータが変更されると、計算は動的に更新されます。

  • リストに基づいて動的に値を除外する場合(例:除外リストがC2:C4にある場合):
=SUM(FILTER(A2:A7,ISNA(MATCH(A2:A7,C2:C4,0))))

この数式は、A2:A7にあるC2:C4のいずれかの値と一致する値を除外します。列Cの除外リストを更新するだけで、数式の結果は自動的に更新されます。

  • FILTERベースのアプローチは、最新のExcelバージョンを使用しているユーザーにとって、動的でスケーラブルな除外ロジックを求める場合にお勧めです。
  • #CALC!エラーが表示される場合は、すべての除外後に範囲に少なくとも1つの値が残っていることを確認してください。それ以外の場合、FILTERはエラーを返します。

まとめると、Excelでは特定のセルや値を除外しながら範囲を合計するためのいくつかの実用的なソリューションを提供しています。シンプルな数式は迅速で小さな除外に適していますが、SUMIF/SUMIFSとFILTERはより柔軟で条件駆動型のシナリオをサポートします。VBAは、除外が多い場合や多様で自動化が必要な場合に理想的です。ソースデータを変更するときは、常にセル参照と数式の調整を再確認してください。エラーが発生した場合は、範囲または除外リストを確認し、数式を再適用するかマクロを再実行してみてください。


関連記事


最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ15ツールセット12 種類テキストツールテキストの追加特定の文字を削除など)50種類以上のグラフガントチャートなど)40種類以上の便利な数式誕生日に基づいて年齢を計算するなど)19 種類の挿入ツールQRコードの挿入パスから画像の挿入など)12 種類の変換ツール単語に変換する通貨変換など)7種の統合&分割ツール高度な行のマージセルの分割など)… その他多数
Kutoolsはお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...


Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に

  • Word、Excel、PowerPointでタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得