Excel 如何求和动态范围?
我想对动态范围求和,如果值为0,则不求和 例如Excel 如何求和动态范围?,excel,excel-2010,Excel,Excel 2010,我想对动态范围求和,如果值为0,则不求和 例如 总和2时间范围A1-G1结果为8 总和3时间范围A1-G1结果为12 总和4时间范围A1-G1结果为21 如何在excel中编码。要计算范围内第一个2非零值之和A1:G1,可以使用以下数组公式(使用Ctrl+Shift+Enter确认): 对于3,更改SMALL函数的参数: =SUM(A1:INDEX(A1:G1,1,SMALL(IF(A1:G1,COLUMN(A1:G1)-MIN(COLUMN(A1:G1))+1),2))) 使用ifferro
如何在excel中编码。要计算范围内第一个
2
非零值之和A1:G1
,可以使用以下数组公式(使用Ctrl
+Shift
+Enter
确认):
对于3
,更改SMALL
函数的参数:
=SUM(A1:INDEX(A1:G1,1,SMALL(IF(A1:G1,COLUMN(A1:G1)-MIN(COLUMN(A1:G1))+1),2)))
使用ifferro
,检查是否有足够的非零元素:
=SUM(A1:INDEX(A1:G1,1,SMALL(IF(A1:G1,COLUMN(A1:G1)-MIN(COLUMN(A1:G1))+1),3)))
对于我的回答,单元格
A5
将保存要求和的“动态”单元格数。“动态”范围扩大到A5
的大小,其中零值不包括在大小中
您可以在任意空白单元格中输入我的公式
这是一个数组公式,必须通过Control Shift Enter确认:
=IFERROR(SUM(A1:INDEX(A1:G1,1,SMALL(IF(A1:G1,COLUMN(A1:G1)-MIN(COLUMN(A1:G1))+1),7))),"??")
在单元格A5
中输入从1到5的值时,以下是公式返回的结果:
1=3
2=8
3=12
4=21
5=27
小心不要在A5
中输入大于5的数字,除非增加源范围中非零值的数量
源范围大小可以通过将公式中的四个引用更改为
A1:G1
来增加。如果将零添加到总数中与否有什么区别?请告诉我我的答案是否完全符合您的要求。我可以进一步帮助您吗?
=IFERROR(SUM(A1:INDEX(A1:G1,1,SMALL(IF(A1:G1,COLUMN(A1:G1)-MIN(COLUMN(A1:G1))+1),7))),"??")
=SUM(INDEX(A1:G1,1,N(IF(1,SMALL(IF(A1:G1,COLUMN(A1:G1)),ROW(OFFSET(A1,,,A5)))))))