如何跳过Excel列中的每第n行Sum

时间:2017-04-14 03:34:11

标签: excel excel-formula

我有一张桌子,我从互联网上复制并粘贴在Excel中。但是,粘贴的数据并不干净。我想在列中添加第1行,第4行,第7行,第10行......同时跳过2,3,5,6,8,9行。而且我希望这个解决方案能够在一个单元格中,即不添加辅助列。

以下是我demo table的快照。希望这可以让您了解我正在尝试实现的目标。

我在互联网上搜索了question on SO。但我无法修改公式来解决我的问题。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

看到您的专栏中有标题。 在所需单元格中输入以下公式,您需要总和值

=SUMPRODUCT((A2:A13),(--(MOD(ROW(A2:A13),3)=2)))

说明:

  1. MOD(ROW(A2:A13),3)=2检查row_number %% 3 = 2的行并返回布尔数组(每次匹配为TRUE或FALSE)
  2. 输出:=SUMPRODUCT((A2:A13),(--({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE})))

    1. 双重否定将布尔值转换为数字1(TRUE)或0(FALSE)。
    2. 输出:=SUMPRODUCT((A2:A13),({1;0;0;1;0;0;1;0;0;1;0;0}))

      1. SUMPRODUCT将上述数组与A2:A16的数据数组相乘,并添加产品结果。

答案 1 :(得分:0)

使用sumproduct怎么样?这个功能非常通用,应该可以解决问题。这个想法是双重否定符号将布尔值转换为1或0,因此您的假元素(也就是n%3<> 1中的任何n)乘以零,因此它们实际上被排除在您的总和之外。

=SUMPRODUCT(--(MOD(ROW(A1:A16), 3)=1), A1:A16)