2017-03-15 183 views
1

您使用什么公式检查另一个单元格是否具有公式?例如,我有2列,A具有包含公式或值的单元格。Excel公式 - 检查单元格是否具有公式

(A栏通常包含公式,但其他用户试图通过直接键入并替换了以前存在的公式来改变它们的值)

在列BI要添加一个公式,会说“HasFormula”如果A列上的单元格具有公式,并且如果它包含一个值,则说“PlainValue”。

我想也许使用=ISNUMBER()但这可能不准确。

我使用Excel 2010中

+1

不是你在找什么,而是你用'Ctrl' +'玩过吗?这就是Ctrl和“back-tick”(小写代字号)。 – Jeeped

回答

4

Excel中实际上有一个内置ISFORMULA()功能。

A1有一个公式,你想检查一下。在说B1,你可以使用:

=If(ISFORMULA(A1),"HasFormula","PlainValue")

编辑:按照您的评论,你没有ISFORMULA()。另一种方法是创建一个快速的UDF,并在工作表中使用自定义函数。

在工作簿模块,把这个代码:

Function isFormula(ByVal target As Range) As Boolean 
    isFormula = target.hasFormula 
End Function 

然后,你可以这样调用:=isFormula(A1),它将返回TRUE如果A1有一个公式。如果单元格中包含公式 =IF(ISERROR(FORMULATEXT(A1)),"PlainText","HasFormula")

+0

我在网上看到类似的帖子,但我的Excel 2010似乎没有内置公式。无论如何,我都会得到一个'#NAME?'。 – jay

+0

@jay - 你打开VBA选项吗?我用一个快速的UDF编辑了这个帖子,和'ISFORMULA()'一样。 – BruceWayne

+1

这是一个很好的做法,提到您所指的函数(例如'ISFORMULA')是在Excel 2013中引入的。对于'FORMULATEXT'也是如此。 – Jeeped

0

您可以通过保护柱A.

您可以直接检查限制用户:

如果您不能使用VBA,那么你可以使用这个公式通过使用快捷键Ctrl +`

您可以使用VBA,写一个用户定义的函数: 1.按Alt + F11在工作簿 3.粘贴 2.插入模块的代码

Function IsFormula(cell_ref As Range) 
IsFormula = cell_ref.HasFormula 
End Function 

4.现在,在使用ISFORMULA细胞,无论你想要的。

相关问题