动态求和列

时间:2018-11-08 10:40:33

标签: excel

在两个单元格中有A1+C1B1+D1时,如何动态设置公式以捕获是否添加了某些列。
假设用户在中间添加了两列。我应该有A1+C1+E1B1+D1+F1

我认为它应该是自动的,但事实并非如此。

2 个答案:

答案 0 :(得分:1)

替换:

=A1+C1

通过:

=SUM(A1:C1) - B1

如果要检查列号是否可被三除,可以使用以下公式:

=IF(MOD(COLUMN(A1);3)=0;A1;0) // I've put the values from 1 to 10 in A1-J1
                              // and I've dragged this formula from A2 to J2, 
                              // the values were 0,0,3,0,0,6,0,0,9,0.

不幸的是,我没有一种简单的方法将这些值求和成一个简单的公式。

答案 1 :(得分:1)

如果您始终添加两列,那么A1+C1将始终查看奇数列,而B1+D1将始终查看偶数列。

{=SUM(IF(ISODD(COLUMN($A$1:$D$1)),$A$1:$D$1))}  

{=SUM(IF(ISEVEN(COLUMN($A$1:$D$1)),$A$1:$D$1))}

只要您在A:D之间插入列,范围就会扩大以适应。

修改:
根据注释,第2行包含代码,第3行包含为每个代码加起来的数字,则此数组公式将起作用:

{=SUM(IF($A$2:$J$2="H1",$A$3:$J$3))}

Edit2:,如果我醒了,你甚至可以使用非数组并内置公式:
=SUMIF($A$2:$J$2,"H1",$A$3:$J$3)

可以将H1文本更改为另一个代码或包含该代码的单元格引用,以获取指定代码的第3行中的值之和。

作为数组公式,必须使用Ctrl+Shift+Enter输入。