連続する 24 時間ブロックの平均を計算する Excel 数式はありますか?

連続する 24 時間ブロックの平均を計算する Excel 数式はありますか?

Microsoft Excel 2010、数千行の時間別データの入力ファイルなので、1 日あたり 24 個の値 (行) があります。

データが B1 から始まり、1 日目の平均値を C1 に入力すると仮定します。C1 セルの内容は =AVERAGE(A1:A24) となり、ここまでは問題ありません。

質問は、C2 セルの内容が A:25 から A:48 までの平均になるようにするには、C2 セルに何を入力すればよいかということです。そうすれば、同じ数式を C 列にコピーして、C3 に A:49 から A:72 までの平均が適切に入力されるようになります。

答え1

Excellll のアプローチのバリエーションです.....

C1にコピーしたこの数式を試してください

=AVERAGE(OFFSET(A$1,(ROWS(C$1:C1)-1)*24,0,24))

....または....上記の欠点の1つは、数式が実際に何をしているのか理解するのが難しいかもしれないということです。このアプローチでは、明示的な AVERAGE各セルの数式:

この数式をC1に貼り付けてコピーします

="=AVERAGE(A"&(ROWS(C$1:C1)-1)*24+1&":A"&ROWS(C$1:C1)*24&")"

これにより、すべての数式がテキストとして作成されます...

これを実際の数式に変換します。

列を選択 > 右クリック > コピー > 右クリック > 形式を選択して貼り付け > 値 > OK > テキストを列に > 完了

答え2

あなたの状況でそれが機能するのであれば、ピボットテーブルを使用してこれを行うことを検討します。

時間が適切な Excel の日付/時刻形式になっていると仮定します (そうでない場合は、新しい列を作成し、日付/時刻に変換する数式を作成します)。

  • A1からB5000まで(または最終的に到達すると思われる範囲まで)を選択します
  • ピボットテーブルを作成し、列Cに配置します。
  • 行ラベル領域にA時間を追加します
  • 日ごとにグループ化します(日付を右クリックし、グループを選択してから日を選択します)
  • 値領域に B データを追加し、合計ではなく平均に設定します。

この解決策は次のとおりです。

  • 実装が簡単
  • 理解しやすい
  • 柔軟性があります(移動、フィルタリング、月ごとの要約などが可能です)
  • エラー防止/安心: 行が欠落していたり​​、何らかの理由でオフセットが壊れていたりしても、行番号の想定に頼るのではなく、実際のデータに基づいて毎日の平均が適切に計算されます。毎日 24 個の値があることを確認するために、値領域にカウントを追加することもできます。

関連情報