この記事では「エクセルにて0以外の平均を求める(0を除く)方法」について解説していきます。
方法としては下記のようなものが一般的に利用できます。
・AVERAGEIF関数
・SUM関数とCOUNTIF関数による組み合わせ
・変換列を用意し0→計算されない値に変換
それでは、具体例を用いて解説しましょう。
エクセルにて0以外の平均を求める方法1【AVERAGEIF関数使用】
まずはAVERAGEIF関数を使用して0以外(0を除く)平均を求める方法をお話しします。
こちらが一般的でかつ最小の記述量で本題をクリアすることができます。
下記サンプルでは、各店舗における売上の実績から平均を求めようとしています。
ただし、今後立ち上がる予定→現在はまだ稼働していない「東京南支店」を含めない平均値を求めたいという想定です。
セルB7に「=AVERAGEIF(B2:B6, “>0”, B2:B6)」 と入力します。
なお、「>0」は”(ダブルクォーテーション)で括る必要がある旨、ご注意ください。
この関数の意味を解説していきます。
AVERAGEIF関数は、指定した範囲のなかから条件を満たすセルの値の平均を求める関数であり、
=AVERAGEIF(範囲,検索条件,平均対象範囲)
と入力します。
各引数には
・範囲(B2:B6):検索対象のセル範囲
・検索条件(“>0”):「範囲」の中から該当するセル(0より大きい)かどうかを判定する条件値
・平均対象範囲(B2:B6):平均を求めたい数値が入力されているセル範囲
をそれぞれ指定します。
ENTERを押すと、0である「東京南支店」を除いた売上の平均値が計算されます。
エクセルにて0以外の平均を求める方法2【SUM関数とCOUNTIF関数の組み合わせ】
次に、SUM関数とCOUNTIF関数の組み合わせにより0を除く平均値を算出する方法を紹介します。
同じサンプルデータにおいて、セルB7に「=SUM(B2:B6)/COUNTIF(B2:B6, “>0”)」と入力します。
使用している関数の意味を解説していきます。
SUM関数は、指定したセルの合計値を求める際に使用し、
=SUM(数値1,[数値2],…)
と入力します。
本例では、「B2:B6」で引数を指定しているので、B2~B6に含まれる全てのセルの値を合計することになります。
COUNTIF関数は、指定した範囲のなかから条件を満たすセルの個数を求める関数であり、
=COUNTIF(範囲,検索条件)
と入力します。
各引数には
・範囲(B2:B6):検索対象のセル範囲
・検索条件(“>0”):「範囲」の中から該当するセル(0より大きい)かどうかを判定する条件値
をそれぞれ指定します。
ENTERを押すと(全店舗の合計) / (稼働中の店舗数) = (稼働中の店舗における平均)が計算されます。
エクセルにて0以外(0を除く)の平均を求める方法3【変換列を用意し0→計算されない値に変換】
最後にエクセルにて、変換列を利用して0以外の平均を計算する方法を紹介します。
同じサンプルデータにおいて、変換列を追加します。
具体的にはセルC2に「=IF(B2>0,B2,”-“)」と入力します。
この関数の意味を解説していきます。
IF関数は、場合によって出力する値を変える際に使用し、
=IF(論理式,[値が真の場合], [値が偽の場合])
と入力します。
各引数には
・論理式(B2>0):判定対象のセルが0より大きいかどうか
・[値が真の場合](B2):論理式が真→B2が0より大きい場合に出力する値
・[値が偽の場合](“-”):論理式が偽→B2=0の場合に出力する値
をそれぞれ指定します。
後述するAVERAGE関数では文字列は「計算対象外」とする仕様なので、上記では-(ハイフン)にしています。
ENTERを押すと、変換値が出力されます。
セルB2~B6についても同様に変換します。
セルC2の右下にカーソルを合わせ、十字が表示されたら、セルC6までドラッグします。
これにより、数式を簡単にコピーすることができます。
ここまでできたら、セルB7に「=AVERAGE(C2:C6)」と入力します。
この関数の意味を解説していきます。
AVERAGE関数は、指定したセルの平均値を求める際に使用し、
=AVERAGE (数値1,[数値2],…)
と入力します。
本例では、「C2:C6」で引数を指定しているので、C2~C6に含まれる全てのセルの値の平均値を求めることになります。
なお、既出の通り、AVERAGE関数では数値ではないものを「計算対象外」とするので、セルC2, C4~C6の平均値が計算されます。
ENTERを押すと、目的達成(0以外の平均の計算が完了)です。
この手法を利用する注意点として可能な限り変換列は非表示にしておくことを挙げておきます。
事情を知らない第三者が誤って数式を触ってしまうことへの対策です。
非表示にしたい列の見出しを右クリックし、コンテキストメニューより「非表示」を実行すればOKです。
まとめ エクセルにてAverageif等で0以外の平均を求める方法【0を除く】
この記事では「エクセルにて0以外の平均を求める(0を除く)方法」について解説しました。
関数についての知識も勿論大事ですが、処理のロジックを設計する能力を磨くことも同様に重要です。
この記事を読んだことで、新たな発想が見えてきたとなれば、とても幸いです。