在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常量,而不是所需的数字。 不过,我认为将一个系列放入另一个系列将会更加普遍有用。