• ベストアンサー

Excelでの7セル毎に集計を出したいのですが…

Excel2000で、以下のようなデータを作成しています。 集計     時間 04/01/05  **:** 04/01/12  **:** 04/01/19  **:** これとは別シートに、01/05以降の毎日の時間が入力されてあり、 その1週間のトータル時間を、上記”時間”の欄に表示させたいのですが、 この時間欄に、 =SUM(シート名!A1:A7) と入れても、その下のセル(04/01/12用の時間欄)にコピーをすると、 =SUM(シート名!A2:A8) となってしまいます。これを、 =SUM(シート名!A8:A14) =SUM(シート名!A15:A21)        ・        ・        ・ となるように式のコピーをしたいのですが、何か簡単な方法はないでしょうか。 データの量がすごく多いので、さすがに手作業は辛いものがあります。 ご存知の方、教えて頂けると助かります。 よろしくお願いいたします。

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

  • ベストアンサー
noname#148473
noname#148473
回答No.3

OFFSET関数を使うのが良いと思います。 たとえば現時点で =SUM(シート名!A1:A7) がセルB1に入力されているとします。 セルB1の内容を次の通り書き換えてください。 =SUM(OFFSET(Sheet2!A$1:A$7,(ROW()-1)*7,0)) ROW関数は行番号を返す関数で、行番号から1引いたものを7倍することで、1行目なら0、2行目なら7、3行目なら14を返すようになります。式を入力する行が1行目でない場合は、「(ROW()-1)*7」の「1」をその行の行番号に置き換えればOKです。

futaba009
質問者

お礼

早速のご回答ありがとうございました。 詳しいご説明を添えてくださり、解りやすかったです。 できればシンプルな式にしたいと思い、fuji2002様の式を使用させていただきました。 無事、解決です! これで作業が進められそうです。 ありがとうございました。

その他の回答 (2)

  • sero
  • ベストアンサー率47% (916/1944)
回答No.2

#1です。 A列に表示させるのであれば の式は =SUM(INDIRECT("シート名!A"&ROW(B1)*7-6&":A"&ROW(B1)*7)) の誤りでした。

futaba009
質問者

お礼

お気遣いありがとうございました。 最初、ROW関数を使わずに、そのまま行数から7を引くような式を作ってみたところ、案の定エラーが出てしまい困っていました。 助けていただいてありがとうございました。

  • sero
  • ベストアンサー率47% (916/1944)
回答No.1

A列以外に表示させるのであれば =SUM(INDIRECT("シート名!A"&ROW(A1)*7-6&":A"&ROW(A1)*7)) A列に表示させるのであれば =SUM(INDIRECT("シート名!A"&ROW(B1)*7+1&":A"&ROW(B1)*7+7)) でオートフィルしては?

futaba009
質問者

お礼

早速のご回答ありがとうございました。 恥ずかしながら、ROW関数やINDIRECT関数というものを初めて知りました。 便利ですね~~。 応用的に使えるように頑張ってみます。 ありがとうございました。

関連するQ&A

専門家に質問してみよう