如果公式包含特定文字/符號/函數

如果公式包含特定文字/符號/函數

如何偵測某些單元格是否包含具有特定文字/符號的特定公式?

1. A formula which is =today(), or =date(), or =time()
2. A formula which starts with =(any alphabet letter)
3. A cell which starts with '
4. A formula which ends with any number

我在條件格式中使用公式。

謝謝。

答案1

1, 2, n 4 的答案:

1a) =IF(FORMULATEXT(A1)="=TODAY()",1,0)

1b) =IF(LEFT(FORMULATEXT(A1),5)="=TIME",1,0)

1c ) [編輯 1b 解]

2) =IF(AND(CODE(MID(FORMULATEXT(A1),2,1))>=65,CODE(MID(FORMULATEXT(A1),2,1))<=90),1,0)

[您可以參考說明文件中 code() 的詳細資訊..(: ]

4) =IF(AND(code(right(FORMULATEXT(A1),1))>=48,CODE(right(FORMULATEXT(A1),1))<=57),1,0)

希望能幫助你。

第三季注意事項:

公式幾乎總是以“=”字元開頭..它永遠不會以字元開頭..除非您實際上引用文字值..那麼您可以使用 if() + left() + 編輯 Q2 的解決方案。

請分享您嘗試過但不起作用的方法。 (:

答案2

Q3 的答案

開啟VBA並建立巨集:

Option Explicit
Function ZIsApostrophe(rng As Range) As Boolean
    ZIsApostrophe = rng.PrefixCharacter = "'"
End Function

使用自訂函數ZIsApostrophe()檢查儲存格是否以 ' 開頭。

例如,鍵入ZIsApostrophe(A3)檢查儲存格 A3 是否以 ' 開頭。它將傳回值 TRUE 或 FALSE 作為結果。

圖片來源:何塞·奧古斯托


1、2 和 4 的答案

1a ) =IF(FORMULATEXT(A1)="=TODAY()",1,0)

1b ) =IF(左(公式文(A1),5)="=時間",1,0)

1c ) [編輯 1b 解]

2 ) =IF(AND(代碼(MID(FORMULATEXT(A1),2,1))>=65,代碼(MID(FORMULATEXT(A1),2,1))<=90),1,0)

[您可以參考說明文件中 code() 的詳細資訊..(: ]

4 ) =IF(AND(代碼(右(FORMULATEXT(A1),1))>=48,代碼(右(FORMULATEXT(A1),1))<=57),1,0)

信用:p。菲多特

相關內容