
AVERAGEIF関数を使えば、0を含む範囲から「0を除外」して正確な平均を算出可能です。また、AVERAGEIF関数では直接指定できない「離れた範囲(飛び地)のデータ」から0を除いて平均を出す方法も解説しているので、ぜひ参考にしてみてください。
0を除く平均を求める(AVERAGEIF関数)

AVERAGEIF関数を使うと、特定の条件に一致するセルだけを抽出して平均を求められます。
例:=AVERAGEIF(A2:A4,"<>0")
💡 ポイント:「0以外」という条件は "<>0" と指定します。
AVERAGEIFの引数:(範囲, 検索条件, [平均範囲])
離れた範囲で0を除く平均を求める

離れた範囲の0を除いた平均を求めたい場合、SUMIFとCOUNTIFを組み合わせます。
例:=(SUMIF(A2:A4, "<>0") + SUMIF(C2:C4, "<>0"))/ (COUNTIF(A2:A4, "<>0") + COUNTIF(C2:C4, "<>0"))
💡 数式の解説:「0以外の合計」と「0以外の個数」を割り算して平均を出しています。
参考:Excel 2021以降や365の場合、以下のように記述することもできます。
例:=LET(r, VSTACK(A2:A4, C2:C4), AVERAGE(FILTER(r, r<>0)))
💡 数式の解説:
- VSTACK関数:離れた範囲を1列にまとめます。
- FILTER関数:まとめたデータから「0以外」の数値だけを抽出します。
- LET関数:
VSTACK(A2:A4,C2:C4)をrに代入し、数式を短く整理します。