Veronicaは、AVERAGE関数を使用して値の範囲の平均を決定する方法を知っています。ただし、彼女は範囲内のゼロ以外の値に基づいて平均を決定することを望んでいます。

この目的に最も適したワークシート関数は、AVERAGEIFを使用することです。

次のように使用できます:

=AVERAGEIF(A1:A50,">0")

この関数には、平均して、ゼロより大きい値を含むセルのみが含まれます。空白のセルも除外する場合は、AVERAGEIFS関数を使用する必要があります。この関数は、平均化するセルを示す複数の基準を指定できるという点でAVERAGEIFとは異なります。

=AVERAGEIFS(A1:A50,A1:A50,">0",A1:A50,"<>""")

もちろん、(AVERAGEIFまたはAVERAGEIFSを使用せずに)「古い学校」の問題に取り組みたい場合は、いくつかの方法で進めることができます。 1つ目は、平均がどのように計算されるかを覚えておくことです。これは、値の範囲の合計を範囲内のアイテムの数で割ったものとして定義されます。したがって、分母(除算する数値)にゼロ値が含まれていないことを確認するだけで、除外平均を計算できます。例:

=SUM(A1:A50)/COUNTIF(A1:A50,"<>0")

このアプローチでは、COUNTIF関数を使用して、ゼロを含まない範囲(A1:A50)内のセルの数を判別します。この範囲にゼロだけでなく空白のセルも含まれていて、空白のセルを結果に含めたくない場合は、より複雑な数式を使用する必要があります。

=SUM(A1:A50)/(COUNTIF(A1:A50,"<>0")-COUNTBLANK(A1:A50)- (COUNTA(A1:A50)-COUNT(A1:A50)))

COUNTIF関数は、明示的に0と評価されないセルをカウントしますが、空白セルとテキストセルをカウントします。 COUNTBLANK用語は空白セルを調整し、COUNTAとCOUNTの差は、テキストを含むセルの総数を調整します。

もちろん、配列数式を使用して計算を行うこともできます。

=AVERAGE(IF(A1:A50<>0,A1:A50))

Ctrl + Shift + Enterの組み合わせを使用して、配列数式を入力する必要があることに注意してください。この配列数式は、テキストを含む空白またはセルも除外します。

全体として、AVERAGEIFまたはAVERAGEIFS関数を使用する方が簡単です。

いつ使いたくないですか? Excel 2007より前のバージョンのExcelのユーザーとブックを共有する必要がある場合(これは、関数がExcelに追加されたときです。)

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(7729)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。

Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります: