スプレッドシートのHARMEAN関数の使い方|調和平均

スポンサーリンク

「行きは時速40km、帰りは時速60km。平均速度は何km/hですか?」

つい「50km/h」と答えたくなりませんか? でもこれ、実は間違いなんです。AVERAGE関数で速度の平均を出すと、本当の平均より大きい値になってしまいます。

Googleスプレッドシートで速度や単価の「正しい平均」を求めるには、調和平均という計算方法が必要です。この記事では、HARMEAN関数の基本の書き方から実務での活用例、AVERAGEとの違いまで解説します。

スプレッドシートのHARMEAN関数とは?調和平均で正しい平均を求める

HARMEAN関数(読み方: ハーミーン関数)は、データの調和平均を返す統計関数です。「HARMEAN」は英語の「Harmonic Mean(調和平均)」の略です。

調和平均とは、各データの逆数の平均を取り、さらにその逆数を求める計算方法です。計算式は次のとおりです。

n / (1/x1 + 1/x2 + ... + 1/xn)

たとえば40と60の調和平均は 2 / (1/40 + 1/60) = 48 です。AVERAGE関数だと (40+60) / 2 = 50 ですよね。調和平均のほうが小さい値になるのがポイントです。

HARMEAN関数にできることをまとめると、次のとおりです。

  • 速度の平均など「率」の平均を正しく求められる
  • 1個あたりの単価の平均を正確に計算できる
  • AVERAGE関数では過大評価になるケースを防げる
  • GEOMEAN関数(幾何平均)と使い分けることで、データに合った正しい平均が選べる

NOTE

HARMEAN関数はGoogleスプレッドシートの全バージョンで使えます。ExcelのHARMEAN関数と互換性があるので、同じ数式をそのまま使えますよ。

HARMEAN関数の書き方(構文と引数)

基本構文

=HARMEAN(値1, [値2, ...])

引数の説明

引数必須/任意説明
値1必須数値、またはセル範囲
値2, …任意追加の数値またはセル範囲

引数はすべて正の数である必要があります。0や負の数を含むと #NUM! エラーになるので注意してください。

テキストや論理値(TRUE/FALSE)はセル範囲内にあっても無視されます。ただし、引数に直接テキストを指定すると #VALUE! エラーになりますよ。

HARMEAN関数の基本的な使い方

まずはシンプルな例から見てみましょう。2つの数値の調和平均を求めます。

=HARMEAN(40, 60)

結果は 48 です。計算の流れは次のとおりです。

  1. 各値の逆数を求める: 1/40 = 0.025、1/60 ≒ 0.0167
  2. 逆数の平均を求める: (0.025 + 0.0167) / 2 ≒ 0.0208
  3. その逆数を取る: 1 / 0.0208 = 48

セル範囲を使う場合は次のように書きます。

=HARMEAN(B2:B10)

B2からB10に入力された値の調和平均が返ります。範囲指定のほうが実務ではよく使いますよ。

実務で役立つHARMEAN関数の活用例

速度の平均を求める

調和平均の代表的な使い方が「速度の平均」です。

たとえば、営業担当の方が客先への往復で次の速度だったとします。

区間速度
行き40 km/h
帰り60 km/h

AVERAGE関数で計算すると (40+60)/2 = 50 km/h になりますが、これは正しくありません。

実際の平均速度を考えてみましょう。片道の距離をDkmとすると、行きはD/40時間、帰りはD/60時間かかります。往復2Dkmを合計時間で割ると次のようになります。

2D / (D/40 + D/60) = 2D / (5D/120) = 48 km/h

HARMEAN関数なら一発で正解が出ます。

=HARMEAN(40, 60)  → 48

AVERAGEだと50km/hになるところ、正しくは48km/hです。同じ距離を異なる速度で移動するときは、必ず調和平均を使いましょう。

単価の平均を求める

もうひとつ実務でよくあるのが「単価の平均」です。

たとえば、同じ予算1万円でA店とB店から商品を仕入れたとします。

仕入先単価購入数量
A店100円100個
B店200円50個

単価をAVERAGEで計算すると (100+200)/2 = 150円 です。でも実際の平均単価は、合計2万円で150個買ったので 20,000/150 ≒ 133円 ですよね。

HARMEAN関数で計算すると正解が出ます。

=HARMEAN(100, 200)  → 約133.3

同じ金額を異なる単価で購入するときは、調和平均が正しい平均単価になります。

よくあるエラーと対処法

HARMEAN関数で表示されるエラーと、その原因・対処法をまとめました。

エラー原因対処法
#NUM!引数に0以下の値があるデータから0や負の数を除外する
#VALUE!引数にテキストを直接指定した数値だけを指定する
#DIV/0!引数が空(データがない)セル範囲にデータが入っているか確認する

一番多いのは #NUM! エラーです。調和平均は逆数を使って計算するため、0が含まれると「1/0」で計算できなくなります。データに0が混ざっていないか確認してみてください。

AVERAGE・GEOMEAN・HARMEANの使い分け

スプレッドシートには3種類の平均を求める関数があります。データの性質に合った関数を選ぶことが大切です。

関数平均の種類計算方法向いているデータ具体例
AVERAGE算術平均合計 / 個数足し算で変化するデータテストの点数、気温
GEOMEAN幾何平均全部掛けてn乗根掛け算で変化するデータ成長率、利率、倍率
HARMEAN調和平均逆数の平均の逆数率や割合のデータ速度、単価、打率

迷ったときは、次の判断基準を使ってみてください。

  • 「合計」が意味を持つデータ → AVERAGE(テストの合計点など)
  • 「掛け算」が意味を持つデータ → GEOMEAN(毎年の成長率を掛け合わせるなど)
  • 「逆数の合計」が意味を持つデータ → HARMEAN(速度の逆数=所要時間など)

3つの平均値には HARMEAN <= GEOMEAN <= AVERAGE という関係があります。同じデータなら、調和平均が一番小さく、算術平均が一番大きくなりますよ。

まとめ

HARMEAN関数は、速度や単価など「率」のデータの正しい平均を求める関数です。

この記事のポイントをおさらいしましょう。

  • HARMEAN関数は =HARMEAN(値1, 値2, ...) で調和平均を計算できる
  • 同じ距離を異なる速度で移動するときは、AVERAGE ではなく HARMEAN を使う
  • 同じ金額で異なる単価の商品を買うときも、HARMEAN が正しい平均単価になる
  • 引数は正の数のみ。0や負の数を含むと #NUM! エラーになる
  • AVERAGE(算術平均)・GEOMEAN(幾何平均)・HARMEAN(調和平均)は、データの性質で使い分ける

普段はAVERAGE関数で十分な場面がほとんどですが、速度や単価の平均を求めるときはHARMEAN関数を思い出してみてください。正しい平均値が出せると、レポートやプレゼンの説得力がぐっと上がりますよ。

タイトルとURLをコピーしました