在Excel单元格中对单元格序列做些什么?
我想总结 “A9和A54之间的每第五排”,即
A(5x + 9)-A(54),
在excel里面。
这里还有一个子问题。 是否可以使用函数或VBA求和一系列单元格?
这里有一些testing问题,根据答案:
-
=SUMPRODUCT(--(MOD(ROW(Range)-MIN(ROW(Range))+1,1)=0),A1:A50)
– 行A1到=SUMPRODUCT(--(MOD(ROW(Range)-MIN(ROW(Range))+1,1)=0),A1:A50)
? -
=SUMPRODUCT(--(MOD(ROW(A50)-MIN(ROW(A50))+1,2)=0),A1:A50)
– 隔一行,A1到A50 -
=SUMPRODUCT(--(MOD(ROW(A5:A50)-MIN(ROW(A1:A50))+1,5)=0),A1:A50)
A5和A50之间的第五行?
基于:
将A9:A54replace为Range,将5replace为n,以便进行特定查询。 只有那些部分更改答案将保持不变,即使您删除范围以下的行。
我会使用RocketDonkey的更健壮版本的答案。 在他的评论-8是因为范围的第一行是9,但一般的任何单一的列范围,你可以使用此公式总结每第n行(从范围的第一行开始)
=SUMPRODUCT(--(MOD(ROW(Range)-MIN(ROW(Range)),n)=0),Range)
将A9:A54replace为Range,将5replace为n,以便进行特定查询。 只有那些部分改变
即使删除Range下面的行,答案也会保持不变
说明
部分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}
当用MOD 5(除数5)inputMOD函数时,MOD(0,5)= 0,所以在这种情况下,第一个单元格(A9)总是满足条件…..所以每隔5(或n )在这个范围内的单元格
=SUMPRODUCT(--(MOD(ROW(A9:A54)-MIN(ROW(A9:A54)),5)=0),A9:A54)
将从第一个单元格开始的第五个单元格相加,也就是总和A9,A14,A19,A24 ….等。
显然你可以用9代替MIN(ROW(A9:A54)),但是如果你删除了第9行以下的一些行,公式结果将会改变,所以使用这个结构会更强壮
我猜MOD(ROW(A9:A54)-MIN(ROW(A9:A54)),5
产生数-9,因此,行ROW(A9:A54)-MIN(ROW(A9:A54)
,- -9
)的结果使A9成为第0个条目我们运行MOD
数组,这可能就是=0
情况。
=SUMPRODUCT(--(MOD(-9,5)),A9:A54)
显然有相同的效果。 出于某种原因,长版本是优选的,即: =SUMPRODUCT(--(MOD(ROW(Range)-MIN(ROW(Range)),n)=0),Range)
。 我没有看到优势,但是它与移动或删除单元格有关。 我想这是因为有一个空的单元格应该不重要。
我也有点困惑,为什么我们使用=SUMPRODUCT
而不是SUM
和--
而不是SUM
。 --
做了补充,它也转换布尔数字,我猜。 在这里,我不明白为什么要这样做。 也许这是一件大事。 例如,可能每十五行是一个不需要的string常量,而不是所需的数字。 不过,我认为将一个系列放入另一个系列将会更加普遍有用。