复制时的相对工作表引用(Microsoft Excel)
当您将一个公式从一个单元格复制到另一个单元格时,Excel会根据接收该公式的目标自动更新该公式内的所有相对引用。例如,假定单元格B7包含以下公式:
=B6+A7
如果将此公式复制到单元格D22,Excel将自动更新引用,使其相对于单元格D22,如下所示:
=D21+C22
当您将公式从一个工作表复制到另一个工作表,并且该公式包含对先前工作表的引用时,Excel不会进行这种类型的公式更新-至少不在工作表名称上进行。例如,假设您有三个按顺序排列的工作表,分别称为一月,二月和三月。在二月工作表上,您具有以下公式:
=January!B7*1.075
如果将此单元格复制到March工作表,Excel将自动更改B7参考(如有必要),但不会更改工作表名称(一月,比第一次出现该公式的工作表少“一”)调整后的相对工作表名称(2月,比将公式复制到的工作表“少”一个)。
如果复制的公式中只有几个工作表引用,则只需编辑公式以使其引用正确的工作表就相当容易。但是,如果您有数十或数百个此类引用,则该任务很快就会成为噩梦。
解决方案是在Excel中进行简单的搜索和替换操作,如下所示:
。将公式从2月工作表复制到3月工作表上的所需位置。
。在3月工作表可见的情况下,按Ctrl + A。这将选择目标工作表中的所有单元格。
。从“编辑”菜单中选择“替换”,或按Ctrl + H。 Excel将显示“查找和替换”对话框的“替换”选项卡。 (请参见图1。)
。在“查找内容”框中,输入“一月!” (不带引号)。
。在“替换为”框中,输入“二月!” (不带引号)。
。单击全部替换。
现在,工作表中的公式已更新,因此它们引用了正确的工作表。
请注意,在第4步和第5步中,要搜索和替换的不是连续的月份名称。这样做是因为单独的月份名称(一月,二月等)很容易在工作表的其他位置出现而无需成为公式的一部分。您不想更改这些实例,因此包含了多余的字符以帮助缩小搜索范围。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2946)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: