気象庁地上観測データやおんどとり等の連続測定データをエクセルで分析をする際に、月平均や日平均をパッと計算したくなることが多くあります。
通常の方法は、はじめに日時を記したA列から、月や日を表す中間的な補助列を下図D列のように作ります。

つぎに、下図H列のように「Averageif」関数を使い計算する方法が、多く用いられていると思います。

当初はこの方法が分かりやすく正確だと思います。
この作業をたびたび行う場合や、分析の対象を日平均や季節平均や月の上・中・下旬平均などに、スムーズに広げていく時に、補助計算列を省略して計算できると便利で、「Sumproduct()」関数でこれらが実現できます。
「Sumproduct()」関数は、複数の配列の積を合計(積和を計算)する関数です。
下図ではC列=A列✕B列の補助計算結果を合計したセルD7の値=30を、セルD8(式はセルE8の通り)のように補助計算無しで求めることができる、覚えるととても便利な関数です。

「Sumproduct()」関数では、日時の配列全体に対し例えば「Month()」関数が使え、計算された「月」に対し論理式でTrue/Falseの判断ができます。
例えば、”A11:A20″が日時、”B11:B20″が温度の配列に対し、A列が9月である行にある、B列の温度を足し合わせることが、下の関数式できます。
“=sumproduct((month(日時の配列(“A11:A20”))=9) * 1, 温度データの配列(“B11:B20”))”
なお、式中太字の”*1“は、month(2024/9/1)=9の時の計算結果”True”を1に変えるために必要な係数です。
上の関数式で9月の温度の和が求まったので、これを9月のデータ数で割れば平均が計算できます。
下図のセル”E19”の関数式はこれら一連の手順を記しています。この式を各月にコピーすれば年間の毎時データから月平均値を求めることができます。

上図中の上側グラフは元データの毎時の外気温、下側グラフは上記関数で求めた月平均外気温です。
両者を重ねたのが下のグラフになり、正しく求まっていることが分かると思います。

参考)本ページのエクセルファイル
Graph-of-Monthly-Average-Data-byTAKE-Lab (357 ダウンロード )
2025.7.8 – UPDATE;2025.7.10
