Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Dígitos, minúsculas, mayúsculas y otros caracteres

Una vuelta de tuerca al asunto de recuperar únicamente los dígitos, o las mayúsculas, o las minúsculas... o a caso cualquier otro caracter distintos de los anteriores.
Al hilo de las publicaciones pasadas:
Recuperar caracteres no numéricos
Recuperar caracteres numéricos
Mi colega Rick Rothstein (también MVP Excel) me recordó algunas alternativas para obtener de otra forma caracteres de texto o dígitos... lo que me llevó a este artículo.

Veamos las ideas propuestas por Rick para los tres primeros casos.

Para recuperar los dígitos de la cadena... en C2:C7 insertamos:
=LET(x;EXTRAE(B2;SECUENCIA(LARGO(B2));1);
CONCAT(SI(ESNUMERO(ENCONTRAR(x;"0123456789"));x;"")))


Lo interesante de la propuesta es el uso de ENCONTRAR (recuerda que esta función discrimina mayúsculas de minúsculas) para localizar cada caracter en la secuencia indicada "0123456789".
El resto de la técnica es similar a lo expuesto en los artículos del blog indicados al inicio...

Para recuperar las mayúsculas de la cadena... en D2:D7 insertamos:
=LET(x;EXTRAE(B2;SECUENCIA(LARGO(B2));1);
CONCAT(SI(ESNUMERO(ENCONTRAR(x;"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"));x;"")))

Identificamos cualquier letra del alfabeto en mayúsculas...

De igual forma para recuperar las minúsculas de la cadena... en E2:E7 insertamos:
=LET(x;EXTRAE(B2;SECUENCIA(LARGO(B2));1);
CONCAT(SI(ESNUMERO(ENCONTRAR(x;"abcdefghijklmnñopqrstuvwxyz"));x;"")))


Y finalmente, siguiendo la filosofía de Rick) para recuperar cualquier otro caracter (que no sea ni letras ni dígitos) en F2:F7 añadimos:
=LET(x;EXTRAE(B2;SECUENCIA(LARGO(B2));1);
CONCAT(SI(ESNUMERO(HALLAR(x;"0123456789abcdefghijklmnñopqrstuvwxyz"));x;"")))

Notemos como hemos empleado la función HALLAR en lugar de ENCONTRAR, para identificar mayúsculas y minúsculas indistintamente...


Lo interesante de esta metodología es lo sencillo que sería personalizar una secuencia de caracteres buscados ;-)

Una alternativa para recuperar la lista de otros caracteres, para otro tipo de mentes mas 'retorcidas', podría ser en G2:G7:
=LET(vPos;SECUENCIA(LARGO(B2));
xValor;EXTRAE(B2;vPos;1);
arrNoDigits;N(SI(ESNUMERO(ENCONTRAR(xValor;"0123456789"));xValor;vPos));
arrNoMayusc;N(SI(ESNUMERO(ENCONTRAR(xValor;"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"));xValor;vPos));
arrNoMinusc;N(SI(ESNUMERO(ENCONTRAR(xValor;"abcdefghijklmnñopqrstuvwxyz"));xValor;vPos));
arrOtros;SI(arrNoDigits*arrNoMayusc*arrNoMinusc;vPos;"");
CONCAT(SI.ERROR(EXTRAE(B2;arrOtros;1);"")))

Donde trabajamos por exclusión de caracteres, recuperando la posición en la cadena inicial, de todo aquello que no sea ni dígitos, ni mayúsculas, ni minúsculas!!


This post first appeared on EXCEL FORO: EJERCICIOS, EJEMPLOS, SOLUCIONES, DUDA, please read the originial post: here

Share the post

Dígitos, minúsculas, mayúsculas y otros caracteres

×

Subscribe to Excel Foro: Ejercicios, Ejemplos, Soluciones, Duda

Get updates delivered right to your inbox!

Thank you for your subscription

×