Eu tenho uma célula e quero testar se ela passa em um padrão específico: 3-4 alfanumérico, menos, 3-4 alfanumérico, menos, 4 dígitos, menos, 1 ou mais dígitos.
Em outras palavras, quero que "TEST-TST-1234-33" seja aprovado, mas que "TST-12345343" ou qualquer outra coisa falhe.
Regex seria trivial: ^[A-Z0-9]{3,4}-[A-Z0-9]{3,4}-[:digit:]{4}-[:digit:]+$
. O problema é que não consigo encontrar nada para testar se uma célula está exatamente nesse formato específico. Algo como:
= IF(CELL_PASSES_REGEX(A2, "^[A-Z0-9]{3,4}-[A-Z0-9]{3,4}-[:digit:]{4}-[:digit:]+$"), "pass", "fail")
Você pode usar a função MATCH() diretamente ou combinar MATCH() com uma das Funções de Informação . Se sua regex corresponder, MATCH() retornará 1, caso contrário, um erro #N/A. Para um resultado booleano, incorpore MATCHES() em ISERROR() ou em ISNUMBER(). ISNUMBER() retornará verdadeiro se sua regex corresponder, enquanto ISERROR se comporta de forma oposta, então ISNUMBER() pode ser a melhor opção para refletir se uma determinada célula corresponde à sua regex: