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

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

Я использую формулы в условном форматировании.

Спасибо.

2 ответа2

1

Ответ на Q3

Откройте VBA и создайте макрос:

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

Используйте пользовательскую функцию ZIsApostrophe() чтобы проверить, начинается ли ячейка с '.

Например, введите ZIsApostrophe(A3) чтобы проверить, начинается ли ячейка A3 с '. В результате будет возвращено значение ИСТИНА или ЛОЖЬ.

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


Ответы на 1, 2 и 4

1a) = IF(FORMULATEXT(A1) = "= СЕГОДНЯ ()", 1,0)

1b) = ЕСЛИ (ВЛЕВО (FORMULATEXT (A1), 5) = "= ВРЕМЯ", 1,0)

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

2) = IF(И (КОД (MID (FORMULATEXT (A1), 2,1))>> 65, КОД (MID (FORMULATEXT (A1), 2,1)) <= 90), 1,0)

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

4) = ЕСЛИ (И (код (справа (FORMULATEXT (A1), 1))>> 48, КОД (справа (FORMULATEXT (A1), 1)) <= 57), 1,0)

Кредит: с. phidot

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)

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

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

Надеюсь, поможет.

примечание к 3 кварталу:

формула почти всегда начинается с символа "=" ... она никогда не начинается с символов ... если только вы на самом деле не ссылаетесь на текстовое значение ... тогда вы можете использовать if() + left() +, чтобы отредактировать решение для Q2.

Пожалуйста, поделитесь тем, что вы пытались и не работали .. Я помогу другим понять, где вы застряли и помочь. (:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .