jueves, 2 de diciembre de 2021

Recuperar caracteres no numéricos

Al hilo de la entrada anterior del blog, donde explicaba alternativas para obtener números entre cadenas de texto...
Hoy, para responder a algún lector que preguntaba por lo contrario, esto es, por quedarnos únicamente con caractéres no numéricos de una celda, montaremos la siguiente fórmula:
=LET(cadena;B2; tratado;LET(k;SECUENCIA(LARGO(cadena)); a;EXTRAE(cadena;k;1); SI(CODIGO(a)>=48;SI(CODIGO(a)<=57;"";a);a) ); UNIRCADENAS("";VERDADERO;tratado))
Recuperar caracteres no numéricos

Recordemos que los códigos ANSI relevantes para el caso son:
0 - ANSI 48
1 - ANSI 49
2 - ANSI 50
...
9 - ANSI 57
por lo que en este caso estamos dejando fuera de la composición cualquier caracter numérico...

Otra opción, si únicamente queremos recuperar letras mayúsculas, trabajaríamos sobre los códigos ANSI 65 y 90:
=LET(cadena;B2; tratado;LET(k;SECUENCIA(LARGO(cadena)); a;EXTRAE(cadena;k;1); SI(CODIGO(a)>=65;SI(CODIGO(a)<=90;a;"");"") ); UNIRCADENAS("";VERDADERO;tratado))
donde dejaríamos atrás cualquier otro signo o caracter
Recuperar caracteres no numéricos


O finalmente si solo nos interesaran las letras minúsculas.. dejando fuera cualquier otro caracter trabajreíamos sobre los códigos ANSI 97 y 122...

Por no olvidar nuestra eñe: Ñ - ANSI 209
ñ - ANSI 241
Las letras con tilde (acentuadas) son:
Á 193
É 201
Í 205
Ó 211
Ú 218

á 225
é 233
í 237
ó 243
ú 250

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.