Если формула содержит определенный текст/символ/функцию

Если формула содержит определенный текст/символ/функцию

Как определить, содержат ли определенные ячейки определенную формулу с определенным текстом/символами?

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, н 4:

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

1б) =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 с ' . В качестве результата будет возвращено значение ИСТИНА или ЛОЖЬ.

Кредит: Хосе Аугусто


Ответы на вопросы 1, 2 и 4

1a ) =ЕСЛИ(ФОРМУЛАТЕКСТ(A1)="=СЕГОДНЯ()",1,0)

1б) =ЕСЛИ(ЛЕВЫЙ(ФОРМУЛАТЕКСТ(A1),5)="=ВРЕМЯ",1,0)

1c) [редактировать решение 1b]

2 ) =ЕСЛИ(И(КОД(СЕРЕДИНА(ТЕКСТФОРМУЛЫ(A1),2,1))>=65,КОД(СЕРЕДИНА(ТЕКСТФОРМУЛЫ(A1),2,1))<=90),1,0)

[ подробности о code() можно найти в файле справки.. (: ]

4 ) =ЕСЛИ(И(код(верно(ФОРМУЛАТЕКСТ(A1),1))>=48,КОД(верно(ФОРМУЛАТЕКСТ(A1),1))<=57),1,0)

Кредит: стр.фидот

Связанный контент