2017-03-15 127 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細胞,無論你想要的。

相關問題