Se a fórmula contiver texto/símbolo/função específico

Se a fórmula contiver texto/símbolo/função específico

Como posso detectar se determinadas células contêm fórmulas específicas com textos/símbolos específicos?

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

Eu uso as fórmulas em formatação condicional.

Obrigado.

Responder1

Resposta para 1, 2, n 4:

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

1b) =IF(LEFT(FORMULATEXT(A1),5)="=TIME",1,0)

1c) [editar a solução 1b]

2) =IF(AND(CODE(MID(FORMULATEXT(A1),2,1))>=65,CODE(MID(FORMULATEXT(A1),2,1))<=90),1,0)

[você pode consultar os detalhes de code() no arquivo de ajuda.. (:]

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

Espero que ajude.

nota para o terceiro trimestre:

uma fórmula quase sempre começa com um caractere "=".. ela nunca começa com um caractere.. a menos que você realmente se refira a um valor de texto.. então você pode usar if() + left() + editar a solução para Q2 .

Por favor, compartilhe o que você tentou e não funcionou. Ajudarei outras pessoas a entender onde você travou e ajudarei. ( :

Responder2

Resposta para o terceiro trimestre

Abra o VBA e crie uma macro:

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

Use a função personalizada ZIsApostrophe()para verificar se uma célula começa com ' .

Por exemplo, digite ZIsApostrophe(A3)para verificar se a célula A3 começa com ' . Ele retornará o valor TRUE ou FALSE como resultado.

Crédito: José Augusto


Respostas para 1, 2 e 4

1a) =SE(FORMULATEXT(A1)="=HOJE()",1,0)

1b) =SE(ESQUERDA(FORMULATEXT(A1),5)="=TEMPO",1,0)

1c) [editar a solução 1b]

2) =SE(E(CÓDIGO(MID(FORMULATEXT(A1),2,1))>=65,CODE(MID(FORMULATEXT(A1),2,1))<=90),1,0)

[você pode consultar os detalhes de code() no arquivo de ajuda.. (:]

4) =SE(AND(código(direita(FORMULATEXT(A1),1))>=48,CODE(direita(FORMULATEXT(A1),1))<=57),1,0)

Crédito: pág.phidot

informação relacionada