[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『MODでマイナスの値がとりたい』(ろでます)
こんにちわ、ろでますです。
大変初歩的な質問となるかもしれませんが、ご容赦ください。
やりたいことは、12行づつ加算したものを、合計のSumMonth()の所に入れたいというものです。
表で書くとこうなります。
[A]
[01] 表題が入っています
[02] 表題2が入っています
[03] 表題3が入っています
[04] 10 '加算1行目
[05] 10 '加算2行目
[06] 10 '加算3行目
[07] 10 '加算4行目
[08] 10 '加算5行目
[09] 10 '加算6行目
[10] 10 '加算7行目
[11] 10 '加算8行目
[12] 10 '加算9行目
[13] 10 '加算10行目
[14] 10 '加算11行目
[15] 10 '加算12行目
[16] 10 '加算1行目
[17] 10 '加算2行目
[18] 10 '加算3行目
[19] 10 '加算4行目
[20] 10 '加算5行目
[21] 10 '加算6行目
[22] 10 '加算7行目
[23] 10 '加算8行目
[24] 10 '加算9行目
[25] 10 '加算10行目
[26] 10 '加算11行目
[27] 10 '加算12行目
・
・
・
[40] SumMonth() '加算1行目同士の加算
[41] SumMonth() '加算2行目同士の加算
[42] SumMonth() '加算3行目同士の加算
[43] SumMonth() '加算4行目同士の加算
[44] SumMonth() '加算5行目同士の加算
[45] SumMonth() '加算6行目同士の加算
[46] SumMonth() '加算7行目同士の加算
[47] SumMonth() '加算8行目同士の加算
[48] SumMonth() '加算9行目同士の加算
[49] SumMonth() '加算10行目同士の加算
[50] SumMonth() '加算11行目同士の加算
[51] SumMonth() '加算12行目同士の加算
これを実現するために、下記のようなユーザー定義関数を作りました。
Function SUMMonth()
Application.Volatile
Dim i, STrow, row, col, result As Long
row = Application.ThisCell.row col = Application.ThisCell.Column
STrow = (row Mod 12) + 12
For i = STrow To row - 12 Step 12 result = result + Cells(i, col) Next i
SUMMonth2 = result End Function
例えば40行目は
12行目+16行目+28行目となってしまいます。
本来は、4行目+16行目+28行目となってほしいのですが、
(row Mod 12)+12 で、最初の行が必ず0+12となるので12行目になってしまうからです。
もし、Modで余り値がマイナスで返ってくれば4/12・・・-8でこれに+12されれば、本来望むべき最初の計算行4行目が取れて
40行目の値は
4行目+16行目+28行目
となります。
ちょっとややこしいご説明となってしまいましたが、このようにMODの余り値をマイナスでとることはできないでしょうか。
何卒よろしくお願い申し上げます。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
それマクロにする必要あるの? 関数 =SUMPRODUCT($A$1:$A$39*(MOD(ROW($A$1:$A$39)-ROW(A4),12)=0)) ※ちょっと修正 数式は余り知らないけど、↑のような感じでも出来ますよ。 (稲葉) 2014/10/30(木) 17:39
で、理解したんですが、条件として、3行目には日付(つまりシリアル値が入ってしまう)こと、間に行が挿入されることを想定すると、以下のようでもよろしいのではと理解しました。
=SUMPRODUCT(A$4:A39*(MOD(ROW(A$4:A39)-ROW($A4),12)=0))
でうまく動作したことを、ご報告させていただきます。
(ろでます) 2014/11/04(火) 13:52
=SUM(A4,A16,A28)
下へコピー。
では駄目なの? (GobGob) 2014/11/04(火) 14:15
揮発性関数になるけど別案で。
=SUMPRODUCT(N(OFFSET(A4,12*(ROW($1:$3)-1),0))) (GobGob) 2014/11/04(火) 14:24
>=SUM(A4,A16,A28) コピー前提ならこれで十分ですよね・・・言われて気付きました。 (稲葉) 2014/11/04(火) 14:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.