データ分析を始めるならコレ!GoogleスプレッドシートのAVERAGE関数を完全マスター

Sheet基本

AVERAGE・AVERAGEIF・AVERAGEIFS 完全ガイド
条件付き平均と外れ値対処まで

単純な平均から条件付き平均まで。「0を含めたくない」「外れ値を除外したい」など実務でよく出る問題への対処法も解説する。

GASとの関係:filter + reduce で実装できる

GASで const vals = data.filter(r=>r[1]==="東京").map(r=>r[2]); const avg = vals.reduce((s,v)=>s+v,0)/vals.length; と書く処理は AVERAGEIF と対応します。

GASで自動化を学ぶ →
目次

AVERAGE — 範囲の平均

=AVERAGE(数値1, [数値2], ...)

=AVERAGE(B2:B100) // 範囲の平均(空白・テキストは無視される)
=AVERAGE(B2:B10, D2:D10) // 複数範囲の平均

AVERAGEは空白セルを自動的に除外します。ただし0は除外されません。「売上0円」と「未入力」を区別したい場合は AVERAGEIF を使います。

AVERAGEIF — 1条件付き平均

=AVERAGEIF(条件範囲, 条件, [平均範囲])

// 東京だけの売上平均
=AVERAGEIF(B2:B100, "東京", C2:C100)

// 0を除外して平均(未入力行を除外)
=AVERAGEIF(C2:C100, "<>0", C2:C100)

// 空白以外の行の平均
=AVERAGEIF(C2:C100, "<>", C2:C100)

AVERAGEIFS — 複数条件付き平均

=AVERAGEIFS(平均範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)

// 東京 かつ 担当「田中」の売上平均
=AVERAGEIFS(C2:C100, B2:B100, "東京", D2:D100, "田中")

// 2024年Q1(1〜3月)の売上平均
=AVERAGEIFS(C2:C100, A2:A100, ">="&DATE(2024,1,1), A2:A100, "<="&DATE(2024,3,31))

実務でよく出る問題と対処

問題1:0が平均を下げてしまう

// 0を含むAVERAGE(問題)
=AVERAGE(B2:B100) // 0も含まれる

// 0を除外したAVERAGE(正解)
=AVERAGEIF(B2:B100, "<>0")

問題2:外れ値(異常値)を除いた平均

// TRIMMEAN で上下X%を除いた平均
=TRIMMEAN(B2:B100, 0.1) // 上下各5%(合計10%)を除外

問題3:中央値で代替したい

// 平均より中央値の方が実態を反映する場合
=MEDIAN(B2:B100)

// 最頻値
=MODE(B2:B100)

AVERAGE・MEDIAN・MODEの使い分け

状況使うべき関数
外れ値がなく均一な分布AVERAGE(平均)
高額・低額の外れ値があるMEDIAN(中央値)
最も多い値を知りたいMODE(最頻値)
外れ値を一部除いた平均TRIMMEAN

この知識をGASで活かす

GASでデータの平均を計算するとき、AVERAGEIFの「0を除外する」条件はfilter()で再現できます。スプレッドシートで集計ロジックを設計してからGASに移植する手順が実用的です。

Free Newsletter

AIを業務に活かしたいなら
SMR-Labメルマガ

毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。

▶ 無料で登録する

📧 無料メルマガ登録

DX・AI活用のヒントを週1回お届け。登録特典:すぐ使えるプロンプト集&GASテンプレート。

登録情報は第三者に提供しません。いつでも配信停止できます。

目次