2023-10-14 10:03:12来源:yuchen
在数据汇总的过程中,经常需要进行不同行的求和操作,无论是奇数行、偶数行、隔2行、隔3行,甚至是隔N行的求和。下面,我将介绍一种通用的方法,无论你需要隔多少行进行求和,只需应用以下的公式,你都可以快速得到所需的结果。
这个方法可以大大简化数据汇总的过程,让你不再需要手动一行一行地选择要求和的数据。它是一个高效且灵活的工具,可以帮助你更有效地处理各种数据汇总任务。
具体操作步骤如下:
1、选中E3单元格 — 在编辑栏中输入公式“=SUMPRODUCT((MOD(ROW(A2:A10),2)=0)*B2:B10)”– 按回车键回车即可。
2、动图演示如下。
3、公式解析。
(1)ROW(A2:A10):
ROW函数的作用是返回一个或一组引用单元格的行号。ROW(A2:A10)返回的行号是{2;3;4;5;6;7;8;9;10}。
(2)MOD(ROW(A2:A10),2)=0:
MOD函数是一个求余函数,返回两数相除的余数。如果公式MOD(ROW(A2:A10),2)余数等于0,则返回TRUE,否则返回FALSE。所以公式MOD(ROW(A2:A10),2)=0返回的结果是“{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE}”。
(3)=SUMPRODUCT((MOD(ROW(A2:A10),2)=0)*B2:B10):
SUMPRODUCT函数的作用是:在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。第2步返回的逻辑值数组TRUE=1,FALSE=0,可知第2步的结果也等于{1;0;1;0;1;0;1;0;1}。B2:B10单元格区域为{1824;1746;1204;1357;1574;1340;1560;1387;2100},将数组间对应的元素相乘,得到结果{{1824;0;1204;0;1574;0;1560;0;2100}},最后再将数组里面的值相加,即可得到E3单元格的结果“8262”。
其实也很简单,我们只需将E3单元格编辑栏公式中的0改成1即可。
从上面的例子来看,我们不难发现,奇数行偶数行求和,实际上也是隔2行求和,下面教给大家一个万能公式可直接套用的模板:
=SUMPRODUCT((MOD(ROW(数据区域),R)=0)*1,数据区域);其中,R是一个行号,R=2,表示隔2行求和,R=3,表示隔3行求和,以此类推。