Excel公式 – 检查单元是否有公式

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

(列A通常包含公式,但其他用户试图通过直接键入并replace之前的公式来更改它们的值)

在列BI中想添加一个公式,如果列A上的单元格具有公式,那么将会添加一个表示“HasFormula”的公式,如果它包含一个值,则说“PlainValue”。

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

我正在使用Excel 2010。

Excel实际上有一个内置的ISFORMULA()函数。

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

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

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

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

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

然后你可以这样调用它: =isFormula(A1) ,如果A1有公式,它将返回TRUE

如果你不能使用VBA,那么你可以使用这个公式: =IF(ISERROR(FORMULATEXT(A1)),"PlainText","HasFormula")

您可以通过保护列A来限制用户

您可以使用快捷键Ctrl +`直接检查单元格是否包含公式。

您可以使用vba并编写用户定义的function:1.按alt + F11 2.将模块插入工作簿3.粘贴此代码

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

4.现在,在任何你想要的单元格中使用Isformula。