在公式

时间:2015-10-08 00:16:59

标签: excel excel-2003

我创建了一张纸张的一部分,它引用了纸张的其他部分和另一张纸张的部分。公式中存在部分显式(A $ 4,$ B2),显式($ A $ 4)和非显式(A4)引用的混合。例如:

=IF(AB$4>$J8,0,IF(B8=$K8,0,SUM(INDEX(Masterdata!$A$1:$CA$90,MATCH($A8,Masterdata!$A$1:$A$90,0),B8+32):INDEX(Masterdata!$A$1:$CA$90,MATCH($A8,Masterdata!$A$1:$A$90,0),$K8+31))))

整张表中有几十种这类公式。

我想拍摄那部分并将其移动到另一张纸上以供显示。但是,你可以猜测任何相对引用都会出现偏差并且公式会中断。

有没有办法将所有单元格引用转换为带有工作表名称的显式引用,例如$k8 -> Input!$k$8
或者在我之前有几个小时的繁琐工作?

编辑以尝试遵守暂停标记:

我有50个像

这样的公式的单元格

=IF(AB$4>$J8,0,IF(B8=$K8,0,SUM(INDEX(Masterdata!$A$1:$CA$90,MATCH($A8,Masterdata!$A$1:$A$90,0),B8+32):INDEX(Masterdata!$A$1:$CA$90,MATCH($A8,Masterdata!$A$1:$A$90,0),$K8+31))))

我想剪切并粘贴这些细胞并移动到另一张纸上。 在这样做时,我需要将公式中对其他单元格的所有引用更改为显式并包含工作表名称。 以上公式将成为:

=IF(Input!$AB$4>Input!$J$8,0,IF(Input!$B$8=Input!$K$8,0,SUM(INDEX(Masterdata!$A$1:$CA$90,MATCH(Input!$A$8,Masterdata!$A$1:$A$90,0),Input!$B$8+32):INDEX(Masterdata!$A$1:$CA$90,MATCH(Input!$A$8,Masterdata!$A$1:$A$90,0),Input!$K$8+31))))

转换完所有公式后,我将能够剪切范围,然后将其粘贴到另一页上的任何位置。使用粘贴作为"链接"是可行的,但需要保留原有的范围,而且,在我看来,这将是草率的,感觉就像作弊。

可以编写可以查看单元格的代码,查看是否有公式,确定是否有引用的范围,如果还没有引用范围,则将它们设置为显式引用,查看是否已有工作表引用以及是否没有添加一个?每个公式都是独一无二的,长度和类型各不相同。

1 个答案:

答案 0 :(得分:-1)

如果它仅用于(静态)显示目的,您可以只粘贴值,而不是粘贴引用? PasteSpecia |值 - CtrlAlt V