この記事ではエクセルで0以外をカウント(セルを数える:0をカウントしない:0を除いて:関数:マクロ)方法について解説していきます。
ポイントは、以下の3つです。
・関数を用いる方法(COUNTIFとSUMPRODUCT)
・マクロを用いる方法
・関数とマクロの使い分け
エクセル操作は1つ1つ追っていけば必ずうまくできるため、ぜひ本記事を参考にスキルアップにつなげてくださいませ♪
エクセルでの0以外のカウント方法【COUNTIF関数】
それでは以下のサンプルを用いてCOUNTIF関数を使う方法を確認していきます。
B2セルに以下の数式を入力します。
=COUNTIF(A2:A7,”<>0″)
ENTERで処理を確定させます。
COUNTIFは条件を満たすセルの個数を数える関数です。A2からA7までのセルを対象範囲とし、”<>0″を条件式として指定することで、0ではない値のセルの個数をカウントできます。
条件式は数値以外にも、画像のように”りんご”のようなテキストや”>=3″のような不等号を使った式も指定可能です。
エクセルでの0以外のカウント方法【SUMPRODUCT関数】
続いては別の関数を用いたカウント方法を確認していきます。B2セルに以下の数式を入力します。
=SUMPRODUCT(–(A2:A7<>0))
ENTERで処理を確定させます。
SUMPRODUCTは配列の各要素を掛け合わせてから合計する関数です。
–によって各セルの条件判定結果(TRUE:1、FALSE:0)に変換し、掛け算によって1が残る仕組みを利用してカウントを実現しています。
COUNTIFよりもやや発展的な使い方になりますが、慣れれば応用の幅が広がります。
エクセルでの0以外のカウント方法【マクロ】
最後にマクロでのカウント方法を見ていきます。マクロは以下のように記述します。
Sub NonZeroCount()
Dim i As Long
Dim count As Long
count = 0
For i = 2 To 7
If Cells(i, 1).Value <> 0 Then
count = count + 1
End If
Next i
Cells(2, 2).Value = count
End Sub
セルA2:A7を1行ずつループで処理し、値が0でない場合にカウンタ変数countを1ずつ増やしていきます。最終的なカウント結果をセルB2に出力しています。
関数に比べるとやや記述量は多くなりますが、より柔軟な条件設定ができるのがマクロの強みです。
まとめ エクセルで0をカウントしない方法
この記事では【Excel】エクセルで0以外をカウント(セルを数える:0をカウントしない:0を除いて:関数:マクロ)方法について解説しました。
関数COUNTIF、SUMPRODUCT、およびマクロによる3つのアプローチを紹介しました。単純なカウントならCOUNTIF、少し複雑な条件ならSUMPRODUCT、さらに発展的な処理にはマクロと、用途に応じて使い分けていきましょう。
エクセルの扱いになれ、さらに快適な毎日を過ごしていきましょう!
コメント