在 Excel 中,假设我有一些单元格=C5
,我想在所有单元格中替换这个,因为=F5
我想我所要做的就是搜索并用所述值替换。
但是,如果我有一些单元格写着=C5
,=C6
等等,我想用它们替换它们=C5*F5
,=C6*F6
正如您所看到的,我不能直接替换它,因为引用的数字正在发生变化。
我的问题是我必须更换 200 个单元格。如何才能快速完成,而不是手动逐个进行?
答案1
答案2
如何在单元格公式中使用 MID 和 SUBSTITUTE 等 Excel 文本函数
此解决方案假设没有固定模式,并且您无法使用在您复制和粘贴时自动调整的常规相对引用。概念是创建一个新工作表,从主工作表中将公式作为文本拉入,使用文本函数修复公式,然后使用搜索和替换将文本值重新转换为实际公式。
创建一个链接克隆表
修改公式以将每个单元格的公式作为文本返回,例如
=IF(ISBLANK(Main!A1),"",ISERROR(FORMULATEXT(Main!A1)&"*F"&MID(FORMULATEXT(Main!A1),3,1),Main!A1))
完成后,复制所有单元格并粘贴为值
按 CTRL+F,单击“替换”选项卡,然后搜索并替换所有=和=。这看起来像是徒劳的搜索和替换,但它强制将文本再次识别为公式。
答案3
当您复制和粘贴单元格时,Excel 使用相对单元格地址来自动调整行号或列字母。通常,您不必单独编辑每个单元格。只需编辑一个单元格,然后复制并粘贴到其余单元格。
假设您有三个彼此紧挨着的现有公式:
=C5
=C6
=C7
如果您现在想要添加,比如说“*F5”,则“5”会自动更改为正确的行号,您只需编辑第一个单元格:
=C5*F5
=C6
=C7
然后复制第一个单元格并将其粘贴到接下来的两个单元格中。Excel 将自动调整相对引用以
=C5*F5
=C6*F6
=C7*F7
然而,如果你这样做不是想要按“F5”更改行号,可以将其锁定为绝对引用“$F$5”
=C5*$F$5
=C6
=C7
如果您将第一个单元格复制并粘贴到下面两个单元格上,Excel 将调整 C5(相对),但保持 $F$5 固定:
=C5*$F$5
=C6*$F$5
=C7*$F$5
尖端
- 您可以仅锁定引用 $F5 或 F$5 的一部分,具体取决于您是否希望 Excel 在复制和粘贴期间固定列或行。
- 如果您“剪切并粘贴”一个单元格,其自身的公式将不会进行调整。
- 如果将单元格 C5 剪切并粘贴到单元格 G10,则所有引用 C5 的单元格将自动更新到 G10。