- ベストアンサー
エクセルでの集計
エクセルでセルを均等に飛ばして値集計したいのですが、何か良い方法はありますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 例えば、A1~A10で奇数行のみを集計する場合は、 =SUMPRODUCT((MOD(ROW(A1:A10),2)=1)*(A1:A10)) になります。 ROW関数はセルの行番号を返す関数です。 MOD関数は割り算の余りを返す関数です。 上記の数式の場合は、セルの行番号を2で割った余りが1の場合のみ加算しています。 つまり、 =SUMPRODUCT((MOD(ROW(範囲),割る数)=余り)*(範囲)) ということです。 列方向の場合は、ROW関数の代わりにCOLUMN関数を使用して、 =SUMPRODUCT((MOD(COLUMN(範囲),割る数)=余り)*(範囲)) として下さい。 あとは、応用で。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
A列に足したい数があるとします。 B列とC列は空いているものとします。 B列例えば、B1:B4に1,0,0,0を入れます。 B1:B4を範囲指定します。編集-コピーをクリック。 B5から4セルx幾らかの数のセル(例4x4=16)を範囲指定して貼りつけします。1,0,0,0がB列に5対出来ます。 C1に=A1*B1と入れます。それをC2からC20まで複写します。 C1:C20を=sum(C1:C20)で足します。 Sumproductによる解や配列数式による解は 原理的には上記に似ています。上記は手間がかかりますが 判りやすいでしょう。 上記で1,0,0,0のパターンを色々変えれば、均等に飛ばすパターンを自由に出来ますことは判りますね。
- NIWAKA_0
- ベストアンサー率28% (508/1790)
B列を3行飛ばしで集計する場合を例にとります。 A列に、上から1,2,3,4を入力し、集計する行分コピー。 こうなります。 A 1 2 3 4 1 2 3 4 1 2 で、B列の集計行に、集計範囲がB1~B10までなら =SUMIF(A1:A10,1,B1:B10) つまり、「A行が1なら、B行を集計する」式です。 真中の「1」は、集計するデータ位置にあわせて変えてください。