
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