Excel在复制时更改公式中的字符串

时间:2016-12-24 11:46:50

标签: excel

我在公式中将单元格编号作为字符串(“A1”),这需要在复制时相对更改,就像它自动执行正常的单元格引用一样。所以我不必访问400个细胞并手动更换它们。 我能以任何方式管理这个吗?谢谢你的帮助。

我在400个细胞中使用的公式:

body

我不想将所有400个单元格中的每个单元格更改为文本,它应该像正常的单元格引用一样相对更改。

2 个答案:

答案 0 :(得分:1)

要在Excel中将单元格引用作为字符串获取,您可以使用CELL function

=CELL("address";A1)

由于该函数的第二个参数是实际单元格引用,如果您复制并粘贴此公式,它将相应地自动更新。

请记住,这将返回一个包含绝对地址的字符串,因此它将返回"$A$1",而不是"A1"

答案 1 :(得分:0)

CELL(...)将有效。

更一般地说,您还可以使用连接将公式构建为字符串。当你有一个东西列表并且你想拥有引用这些名称的公式时,这可能很有用。或者在你的情况下它也可以工作。

使用concats&amp ;;将公式构建为字符串然后搜索&取代

首先,我尽可能多地建立公式,以便已经形成一般结构(只有你想要改变的参考不会是最终的):

以您的案例为例:

enter image description here

然后,我将这个几乎形成的公式包装成一个CONCATENATE()。然后,我安排了一些引用,我将指向CONCAT()中的引用,它将自动增加到我实际想要包含在我的公式中的文本。像这样:

=CONCATENATE("IF(FIND(""",A1,"""$A$4),TRUE, FALSE)")

A1指的是实际的单元格,因此单元格的内容将包含在我的公式中。然后,您可以将其一直递增以为每个单元格构建正确的公式(在您的情况下为400个单元格)。你需要三重奏"""因为你想要实际包含A1,B1等...是文本引用,而不是单元格。

enter image description here

然后,您需要做的就是选择所有这些公式,复制它们&确保选择过去作为值,说明下面的行(以保持连接完整,以便您可以在以后根据需要进行编辑)。然后使用所有选中的粘贴线,使用find&替换以添加" ="签到公式的开头。更好的是找到& amp;替换,所以找到" IF(F"并替换为" = IF(F"或类似。然后魔术发生:

enter image description here

你可以看到A1,C1,D1返回TRUE,其余的是#VALUE!因为find方法找不到字符串。