A1~F1のセルが、以下だったとします。
5,10,15,0,0,0,
「=AVERAGE(A1:F1)」のように平均値を出している場合、
「=AVERAGE(A1:F1)」は「5」になると思いますが、
この平均値の算出で「ゼロのセルは除外して計算」することは可能でしょうか?
上記の数値であれば、ゼロのセルは除外して
平均値が常に「10」と出るように式を設定したいと思っています。
やり方を教えてください。
※「=AVERAGE(A1:F1)」を「=AVERAGE(A1:C1)」に指定すればいいじゃん、って回答は無しでお願いします。
この部分は固定のまま、数値情報を自動的に読み取って計算させたいのです。
=SUM(A1:F1)/(COUNT(A1:F1)-COUNTIF(A1:F1,0))
http://www.officetanaka.net/excel/function/function/sumif.htm
範囲は必ずA1からF1だとすると
=SUM(A1:F1)/(COUNTA(A1:F1)-COUNTIF(A1:F1,0))
という式で実現可能です。
まず、列の合計を出します:SUM(A1:F1)
次に、平均ですので合計した数を求めます:(COUNTA(A1:F1)-COUNTIF(A1:F1,0))
ポイントは"COUNTIF(A1:F1,0)"です。
この式の場合、「0の数」を数えてくれますので、質問のパターンだと「3」が返ります。
前の"COUNTA(A1:F1)"は数値の入っている数ですので6が返ります。
この結果、6-3=3となり、0以外の数値の数になります。
これで問題ないと思いますよ。
色んな方法があると思いますが、
とりあえず関数の組み合わせでできるやり方を。
=SUM(A:A)/(COUNTA(A:A)-COUNTIF(A:A,0))
元々AVERAGEは全体数の合計を項目数で割ったものなので、
割る母数から0の項目数を引いたもので割るようにしました。
まず、所定のセルに以下の式を記入します。
=AVERAGE(IF(A1:F1<>0,A1:F1,""))
そして、そのセルを編集モード(F2)を押し、以下のコマンドを
押下してください。
Ctrl + Shift + Enter キー
これは配列数式にするためのコマンドです。
URLはダミー
コメント(0件)