• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの条件付きデータ集計について)

エクセルの条件付きデータ集計の効率化方法について

このQ&Aのポイント
  • 1か月間の機器の消費電力データを日毎・1時間単位で小計計算するための効率的な方法を探しています。
  • 現在は非常にアナログな方法を使用しており、SUMIFS関数などを試してみましたがうまくいきません。
  • 効率的で簡単な方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

たとえば =SUMIFS(Sheet1!C:C,Sheet1!A:A,日付セル,Sheet1!B:B,">="&時刻セル,Sheet1!B:B,"<="&(時刻セル+"0:59:59")) などのように。

Kumahiko-20XX
質問者

お礼

早速の回答ありがとうございます。 SUMIFSと時刻加算の使い方について勉強になりました。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

関数で集計をするならSUMIF関数の引き算を利用するのが基本ですが、このようなケースではピボットテーブルのグループ化を利用されることをお勧めします。 バージョンが記載されていないのでExcel2007の例で説明すると、挿入タブの「ピボットテーブル」で行ラベル(フィールド)に「日付」と「時刻」をドラッグし、データフィールド(Σ値)に「データ」をドラッグして、時刻フィールドで右クリックして「グループ化」で「時」だけ選択しOKしてください。 ちなみに、リスト範囲を「テーブルとして書式設定」しておくとデータの追加に対してテーブルの範囲が自動的に拡張しますので便利です。

Kumahiko-20XX
質問者

お礼

回答ありがとうございます。 Excelは2010を使用しております。情報提供不足で申し訳ないです。 ピボットテーブルという機能は知りませんでした。 何度か同じデータ処理が必要になるので、次回試してみます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート1にデータがるとしてA1セルに日付、B1セルに時刻、C1セルにデータの文字があり、 A2セルには7月1日などの日付が、またB2セルには0:00のような時刻が入力されているとします。 A3セルには次の式を入力します。セルの表示形式は日付から選択します。 =A$2+(B$2+"0:10"*ROW(A1)) B3セルには次の式を入力します。 =B$2+"0:10"*ROW(A1) A3とB3セルを選択したのちにそれらの式を下方にドラッグコピーします。 そこでデータが入力された後にシート2に1時間ごとの小計を表示させるわけですがA1セルには日付、B1セルには時刻、C1セルには小計と入力します。 A2セルには次の式を入力します。 =IF(Sheet1!A$2+Sheet1!B$2+"1:00"*(ROW(A1)-1)>MAX(Sheet1!A:A),"",Sheet1!A$2+Sheet1!B$2+"1:00"*(ROW(A1)-1)) B2セルには次の式を入力します。 =IF(A2="","",Sheet1!B$2+"1:00"*(ROW(A1)-1)) C2セルには次の式を入力します。 =IF(A2="","",SUM(INDEX(Sheet1!C:C,MATCH(B2+"0:05",Sheet1!B:B,1)):INDEX(Sheet1!C:C,MATCH(B2+"0:55",Sheet1!B:B,1)))) 最後にA2セルからC2セルを選択してそれらの式を下方にドラッグコピーします。 "0:05"などが追加された式がありますが、それらは時間などの取り扱いにおいてはそのシリアル値が小数点以下何ケタにもなる数値を扱うことからそれらによる誤差の影響を考慮したものです。

Kumahiko-20XX
質問者

お礼

回答ありがとうございました。 No.1の方の方法を試しており、確認が遅れました。 桁落ち誤差の回避方法、参考になりました。

関連するQ&A