1、通常的求和公式是=Sum(A2:C2)这样的,但是这样的公式,如果删除一列或者加一列都会改变。
2、可以在公式中添加INDIRECT,把公式改为=SUM(INDIRECT("A2:C2"))。
3、把公式添加INDIRECT后,添加一列,公式还是没有变。
4、再删除一列,公式也没变。
EXCEL中公式会因增删行列而改变,是因为EXCEL系统试图让公式指向原来的位置。例如公式=A1*2,如果在第一行前插入了一行,那么公式会变为=A2*2,因为公式变化后的A2正是插入行之前的A1;再如公式=SUM(A1:A10),如果在第一列前插入了一列,那么公式会变为=SUM(B1:B10),因为公式变化后的B1:B10区域正是插入行之前的A1:A10区域。
有时候,我们不希望EXCEL的公式因为增删行列而变化,一般需要使用INDIRECT来实现。例如我希望公式=SUM(A1:A10)永远是对A列的前10行计算合计,无论插入删除行列都不要改变,那么我们的公式改为这样=SUM(INDIRECT("A1:A10"))就可以了,因为引用的区域A1:A10是一个字符串变量,EXCEL不知道是区域,所以不会因为增删行列而改变。
那就要解除公式
选择数据区域,复制,在原地选择性粘贴-数值
需要说明的是
1,合并单元格不能使用选择性粘贴,所以要尽量避免使用合并单元格。如果是行距中,尅有把数据输入在第一个单元格,然后设置对齐-水平-跨列居中
2,为了保留原表的格式,可以分两步来做。
第一步,选择整表,复制,在另一个表粘贴,然后全选-清除内容。也可以用选择性粘贴-格式。
第二步,选择性粘贴-数值
COUNTIF(A$1:A$501,"=10")
把单元格引用改为使用INDIRECT()函数就可以了
=COUNTIF(INDIRECT("A$1"&":"&"A$501"),"=10")
使用绝对引用