如果公式包含特定文本/符号/函数

如果公式包含特定文本/符号/函数

如何检测某些单元格是否包含具有特定文本/符号的特定公式?

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)

希望能帮助到你。

Q3 注意事项:

公式几乎总是以“=”字符开头..它从不以字符开头..除非您实际上指的是文本值..那么您可以使用 if() + left() + edit 来获取 Q2 的解决方案。

请分享您尝试过但没有成功的方法。我会帮助其他人了解您遇到的问题并提供帮助。(:

答案2

问题 3 的答案

打开 VBA 并创建一个宏:

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

使用自定义函数ZIsApostrophe()检查单元格是否以“ ”开头。

例如,输入ZIsApostrophe(A3)检查单元格 A3 是否以 ' 开头。它将返回值 TRUE 或 FALSE 作为结果。

图片来源:José Augusto


1、2 和 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)

来源:p.菲多特

相关内容