
如何偵測某些單元格是否包含具有特定文字/符號的特定公式?
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。菲多特