0

「A9とA54の間の5行ごと」をしたい、つまり

A(5x + 9)-A(54)、

内_

ここにもサブクエスチョンがあります。関数または VBA を使用してセルのを合計することは可能ですか?

回答に基づいて、いくつかのテスト問題を次に示します。

  • =SUMPRODUCT(--(MOD(ROW(Range)-MIN(ROW(Range))+1,1)=0),A1:A50)-- 行 A1 から A50 までを合計しますか?
  • =SUMPRODUCT(--(MOD(ROW(A50)-MIN(ROW(A50))+1,2)=0),A1:A50)-- A1 から A50 までの行を 1 行おきに合計します。
  • =SUMPRODUCT(--(MOD(ROW(A5:A50)-MIN(ROW(A1:A50))+1,5)=0),A1:A50)-- A5 と A50 の間の 5 行ごとに合計しますか?

に基づく:

特定のクエリの Range を A9:A54 に、n を 5 に置き換えます。それらの部分だけが変更されます Answer は、Range の下の行を削除しても同じままです。

4

2 に答える 2

4

RocketDonkey の回答のより堅牢なバージョンを使用します。彼のコメントの -8 は、範囲の最初の行が 9 であるためですが、一般的に、単一の列範囲に対して、この式を使用して n 行ごとに合計することができます (範囲の最初の行から開始)。

=SUMPRODUCT(--(MOD(ROW(Range)-MIN(ROW(Range)),n)=0),Range)

特定のクエリの Range を A9:A54 に、n を 5 に置き換えます。その部分だけ変わる

範囲以下の行を削除しても答えは変わりません

説明

部分 ROW(Range)-MIN(ROW(Range)) は整数の配列を返します。0 から始まり、整数の数が範囲内のセルの数に対応するため、

=ROW(A9:A54)-MIN(ROW(A9:A54))

この配列を生成します

{0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45}

それを除数 5 で MOD 関数に入力すると、明らかに MOD(0,5) = 0 なので、この場合、最初のセル (A9) は常に条件を満たします...そして、5 番目 (または n 番目) ごとに) 範囲内のセル

=SUMPRODUCT(--(MOD(ROW(A9:A54)-MIN(ROW(A9:A54)),5)=0),A9:A54)

範囲内の最初のセルから 5 セルごとに合計します。つまり、A9、A14、A19、A24....などを合計します。

明らかに、MIN(ROW(A9:A54)) を 9 に置き換えることができますが、行 9 の下の行をいくつか削除すると、式の結果が変わるため、その構築を使用すると、もう少し堅牢になります。

于 2012-10-22T13:18:11.017 に答える
0

私は数字-9ROW(A9:A54)-MIN(ROW(A9:A54)を生成すると思います。MOD(ROW(A9:A54)-MIN(ROW(A9:A54)),5この式 MOD では、-x の x の値は から離れた数直線上の位置ですcell 0。したがって、 , の結果によりROW(A9:A54)-MIN(ROW(A9:A54)-9A9 が配列の 0 番目のエントリになりMODます。それがそのための可能性が=0あります....

=SUMPRODUCT(--(MOD(-9,5)),A9:A54)どうやら同じ効果があるようです。何らかの理由で、次の長いバージョンが優先されます=SUMPRODUCT(--(MOD(ROW(Range)-MIN(ROW(Range)),n)=0),Range)。利点はわかりませんが、セルのシフトまたは削除と関係があります。空のセルは問題にならないので、変化していると思います。

=SUMPRODUCTまた、なぜ and not and not SUMand --rather thanを使用するのかについても少し困惑していSUMます。 --足し算を行い、ブール値を数値に変換します。ここでは、これらのいずれかが必要な理由がわかりません。ひょっとしたら、万が一のことなのかもしれません。たとえば、15 行ごとに、必要な数値ではなく、望ましくない文字列定数が含まれている可能性があります。ただし、その場合、あるシリーズを別のシリーズで囲むだけの方が、より普遍的に役立つと思います。

于 2012-10-23T01:11:32.177 に答える