如何防止Excel自动复制表中的公式?

lyfkaqu1  于 2023-05-19  发布在  其他
关注(0)|答案(7)|浏览(273)

使用Excel 2016。我有一个带有标题的表格,当我插入公式时,Excel会自动将公式复制到列中的所有其他单元格。虽然这通常是好的,但它错误地计算了表标题。我想我可以只改变顶部的一行以排除标题,但Excel更新了其余的列,我不想要。
我想关闭这个自动公式复制功能,或者找出一种方法来自定义顶行中的公式,这样它就不会计算标题值。
下面是我使用的公式,除了添加一个'Totals'行之外,我没有对表做任何特殊的处理:

=SUM(B2+C1-D2)
ecfdbz9o

ecfdbz9o1#

可以停止创建计算列。默认情况下,自动填充公式以在Excel表中创建计算列的选项处于启用状态。如果您不希望Excel在表列中输入公式时创建计算列,则可以关闭填充公式的选项。如果不想关闭该选项,但在处理表时并不总是想创建计算列,则可以停止自动创建计算列。

打开或关闭计算列

1)在【文件】选项卡上,单击【选项】。
2)单击【校对】。
3)在【自动更正】选项下,单击【自动更正选项】。
4)单击键入时自动套用格式选项卡
5)在工作时自动下,选中或清除填写表格中的公式以创建计算列复选框以打开或关闭此选项。

停止自动创建计算列

在表列中输入第一个公式后,单击显示的【自动更正选项】按钮,然后单击【停止自动创建计算列】。

nxowjjhe

nxowjjhe2#

在Excel 2016/365中,您还可以更改所需的单元格,让它自动填充列的其余部分,然后Ctrl+Z,这将撤消自动填充,但保留您刚刚更改的新公式/文本在该单元格中。

wrrgggsh

wrrgggsh3#

首先,为什么要将一个简单的公式封装到SUM函数中?我总是想知道为什么人们这样做,而不是写=B2+C1-D2更短。
其次,如果你使用了SUM()的真正功能,那么文本,即你的列标题,将被忽略,而不是抛出一个错误。+-运算符不允许文本,无论是否在表中。你可以把公式改写为

=Sum(B2,C1,D2*-1)

第三,注意当您将行插入到现有表中(在现有行之间)时,像这样的单元格引用将表现得不稳定。对于插入行下面的任何内容,行引用都将关闭,您需要再次手动复制公式以获得正确的结果。
为了获得不需要调整的公式,您可能希望使用结构化引用,其中每行都有完全相同的公式,而不是单元格引用,其中每行中的行引用都要调整。一个可能的公式是(如果列B、C和D的列标记为data 1、data 2和data 3):

=SUM([@data1],OFFSET([@data2],-1,0),[@data3]*-1)

要从上面的行获取数据,可以在当前行的单元格上使用Offset()(使用@符号),并使用负行偏移量。请记住,偏移量是不稳定的,这可能会减慢非常大的数据集。

gcuhipw9

gcuhipw94#

调整“自动更正”选项不是最佳选择。您可以通过以下方式在col by col的基础上进行操作:
1.让列自动填充公式
1.删除自动计算列中的任意数量的值(只需要一个就可以了)。
1.根据需要调整列中的公式
只能在Excel 2013中测试。

epfja78i

epfja78i5#

打开这个查询可能有点晚-但有几点:

  • 如果列中已经有不同的公式,公式复制将不起作用-可能需要3个不同的公式,Excel才会说它无法猜测要复制的公式
  • 一个解决方案可能是在顶部添加2个哑行,这将阻止复制-这样做的好处是您不会禁用工作簿中任何其他表的复制;而且我不确定当您打开第一个工作簿时,该设置是否也会无意中复制到您创建的其他新工作簿中
  • 最后,如果A1或B2不是数字,则=A1+B2等会产生错误;而=sum(A1,B2)的工作方式不同,因为文本将被忽略并被有效地视为零
pqwbnv8z

pqwbnv8z6#

**如果你的引用中间有字母,这些技术就不起作用了。**在这种情况下,要在引用之前添加一个零,在它旁边创建一个新的列,在引用旁边的所有单元格中添加“0”,添加另一个列,并在“0”单元格和引用单元格之间使用函数“concontenate”或其他任何函数。不仅如此,=len函数将正确地告诉您中间有字母的引用的数字#(因为excel不会将它们视为数字本身,而是文本/一般格式),而在其他引用中,在它们之前添加0并进行格式化,这不会发生。例如:012345 =len提供5位数字/01 A345 =len提供6位数字

ltqd579y

ltqd579y7#

自动更正选项…>取消选中最后一个复选框。(我用的是Excel 2019)

相关问题