数式に特定のテキスト/記号/関数が含まれている場合

数式に特定のテキスト/記号/関数が含まれている場合

特定のセルに特定のテキスト/記号を含む特定の数式が含まれているかどうかを検出するにはどうすればよいですか?

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

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(LEFT(FORMULATEXT(A1),5)="=時間",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.フィドット

関連情報