• ベストアンサー

Excelで特定の行の縦計

Excelで縦計を足したいのですが、2行おきとか3行おきの データを足したいのですが、どのようにすればいいのですか? データ量が多いので、一つ一つなんて指定出来ないんです。教えて下さい。 お願いします。

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

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

これは、配列数式という方法です。 数式を入力後、[Ctrl]+[Shift]+[Enter]を押してください。 数式の前後に{}が付きます。 (1)(偶数行)を足す =SUM(IF(MOD(ROW(A1:A7),2)=0,A1:A7,0)) 行を2で割った余りが0(偶数行)ならば足す この例では[A2+A4+A6]です    (奇数行)を足す場合は =SUM(IF(MOD(ROW(A1:A7),2)=1,A1:A7,0)) (2)2行おきに足す =SUM(IF(MOD(ROW(A1:A7),3)=0,A1:A7,0)) 3の倍数行を足す   (1)と同様[=0]を1,2に変更してください (2)3行おきに足す =SUM(IF(MOD(ROW(A1:A7),4)=0,A1:A7,0)) 4の倍数行を足す・・以下同文 ・配列数式について http://oshiete1.goo.ne.jp/kotaeru.php3?q=383250

GENGORO
質問者

お礼

ありがとうございました。ばっちり出来ました。 この手の数式とかって知らないと一生使わないで終っちゃいますよね。 まるで人間の潜在能力みたいですね。ほとんど使わないで日々生活してるなんて・・・(^-^;)

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

「配列数式」というエクセルの仕組みで合計が出ます (A列)(B列) a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 I 9 18-->B10 1,3,6,9行のB列の計数を加えるとして B10セルに答えを出すとして、B10セルに =SUM(IF(MOD(ROW(A1:A9),3)=0,B1:B9,""))といれ、 CTRL+SHIFTを押さえつつENTERキーを押す。 {=SUM(IF(MOD(ROW(A1:A9),3)=0,B1:B9,""))}と言う式になり 答えは18になる。 MOD(A1),3-->1<>0 ---> ""  MOD(A2),3-->2<>0 ---> ""  MOD(A3),3-->0=0 ---> B3  MOD(A4),3-->1<>0 ---> ""  MOD(A5),3-->2<>0 ---> ""  MOD(A6),3-->0=0 ---> B6  MOD(A7),3-->1=0 ---> ""  MOD(A8),3-->2<>0 ---> ""  MOD(A9),3-->0=0 ---> B9 sum(B3+B6+B9)で答えが求まる理屈です。 余分な中間結果の列を使いません。 回答を書いているうちに#3回答が出ましたが、説明の部分でも読んで使ってください。

GENGORO
質問者

お礼

ご回答ありがとうございました。

回答No.2

初めまして。あなた様のおやりになりたいことは、マクロを組めば、式を入れたりする手間を考えずに、コードをコピー&ペーストするだけで実行することができます。 もし私でよろしければ、コピー&ペーストするだけですぐにあなた様の思い通りに動作するするサンプルマクロを組んでみたいと思います。 ご希望の節は、貴方様のおやりになりたいことを具体的に詳しくお知らせ下さい。集計をしたいようなのですが、どの列を集計したいのかもお知らせ下さい。

  • kiri_kiri
  • ベストアンサー率25% (13/51)
回答No.1

こんばんは。 どのようなデータかわかりませんが、手っ取り早いのは“SUMIF”関数かな? たとえば、Aの列に集計フラグのようなものを用意して、対象の行に“1”を入力します。集計したい列はC列とします。(データ件数は10件とします) で、合計を表示させたいセルに =SUMIF(A1:A10,1,C1:C10) と入力すると、A1~A10の中で“1”が入っている行のC列の値を足した合計を表示してくれます。 この形だと、“○行おき”などに縛られることはないので、便利だと思います。 がんばってください。

GENGORO
質問者

お礼

ご回答ありがとうございます。 でも、集計フラグ入れたくないんです。

関連するQ&A