Excel

【Excel】エクセルでプラスのみの合計(0以上の数だけ足す(正の数:関数:マクロ)方法

当サイトでは記事内に広告を含みます
技術ブログ特化メルマガはこちら

この記事ではエクセルでプラスのみの合計(0以上の数だけ足す)方法について解説していきます。

ポイントは、以下の通りです。

・SUMIF関数を使ってプラスの値だけを合計する

・マクロを使って自動化する

エクセル操作は1つ1つ追っていけば必ずうまくできるため、ぜひ本記事を参考にスキルアップにつなげてくださいませ♪

エクセルでプラスのみの合計する方法【関数:A列の正の数のみの合計をB11に表示】

それでは以下のサンプルを用いてSUMIF関数を使ったプラスのみの合計方法を確認していきます。

B11セルに以下の数式を入力します。

=SUMIF(B2:B9,”>=0″)

この数式の意味は、B2からB9までのセルの中で、0以上の値だけを合計するということです。

“>=0″は、0以上という条件を表しています。B2:B9の範囲内で、この条件に当てはまるセルの値だけが合計されます。

数式を入力したらENTERで処理を確定させます。

SUMIF関数を使えば、条件に合致する値だけを簡単に合計できるのです。

マイナスの値を除外したい時などに便利ですね。

エクセルでプラスのみの合計する方法【別の関数ややり方】

続いては別の関数を使ったプラスのみの合計方法を確認していきます。

SUMIF以外にも、SUMPRODUCT関数を用いてプラスのみの合計を求めることができます。

B11セルに以下の数式を入力しましょう。

=SUMPRODUCT((B2:B9>0)*B2:B9)

(B2:B9>0)の部分で、各セルが0より大きいかどうかを判定しています。

0より大きければTRUE(1)、そうでなければFALSE(0)が返ります。

これにB2:B9をかけることで、TRUEとなったセルの値だけが合計の対象になります。

FALSEのセルは0扱いなので合計には影響しません。

数式を入力したらENTERで処理を確定させてください。SUMIF関数と同じ結果が得られるはずです。

エクセルでプラスのみの合計する方法【見出し1の内容のマクロ】

最後はマクロを使ってプラスのみの合計を求める方法を確認していきます。

まずはマクロを以下のように記述します。



Sub SumPositive()
    Dim lastRow As Long
    Dim positiveSum As Long
    
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    For i = 2 To lastRow
        If Cells(i, 2).Value >= 0 Then
            positiveSum = positiveSum + Cells(i, 2).Value
        End If
    Next i
    
    Cells(lastRow + 1, 1).Value = "プラスの合計"
    Cells(lastRow + 1, 2).Value = positiveSum
End Sub

このマクロでは、以下のような処理を行っています。

1. lastRow変数で、データの最終行を取得
2. positiveSum変数で、プラスの値の合計を計算
3. 2行目からlastRow行目まで繰り返し処理
4. B列の値が0以上なら、positiveSumに加算
5. 最終行の下の行に「プラスの合計」と結果を出力

マクロを実行すると、SUMIF関数やSUMPRODUCT関数と同じ結果を一発で求めることができます。

大量のデータを扱う場合や、定期的に同じ処理を行う必要がある場合は、マクロを使うのが効率的ですね。

まとめ エクセルで正の数だけのプラスのみの合計する方法【関数:A列の正の数のみの合計をA11に表示】

以上、エクセルでプラスのみの合計を求める3つの方法をご紹介しました。

用途に応じて使い分けることで、エクセル作業の幅が広がるはずです。ぜひ試してみてくださいね。

RELATED POST