Hola a todos:
La verdad es que hace tiempo que no publico nada relacionado con Power Query y creo que hoy es un buen día para hacerlo.
Será algo muy breve y que sea de utilidad. Algo con lo que todos nosotros nos hemos encontrado en más de una ocasión, la necesidad de extraer de una cadena de texto números o letras.
En esta web hay muchos ejemplos realizados en VBA, ya sea mediante procedimientos Sub o con UDF’s. Para este ejemplo lo realizará en Query.
Imaginad esta tabla:
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2020/11/EXTRAER-NUMEROS-O-LETRAS-CON-POWER-QUERY.jpg?resize=1024%2C417&ssl=1)
Bien, necesitamos extraer de la columna NOMBRE COMPLETO únicamente el nombre, de la columna Edad únicamente la EDAD y de la columna NOTA, solo el dato numérico (decimal).
Pues bien, para este ejemplo vamos a crear tres columnas nuevas con la información que necesitamos.
Para extraer el nombre completo sin números, utilizaremos la siguiente fórmula en editor de columna personalizada:
Text.Trim(Text.Select([NOMBRE COMPLETO], {"A".."Z", " ",","}))
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2020/11/EXTRAER-NUMEROS-O-LETRAS-CON-POWER-QUERY1-2.jpg?resize=1024%2C658&ssl=1)
Para la edad, utilizaremos la siguiente:
=Text.Select([EDAD], {"0".."9"})
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2020/11/EXTRAER-NUMEROS-O-LETRAS-CON-POWER-QUERY2.jpg?resize=1024%2C542&ssl=1)
Y para las notas, al ser decimales, incluimos la coma o el separador que tenga y lo extraemos con el número:
=Text.Select([NOTA], {"0".."9",","})
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2020/11/EXTRAER-NUMEROS-O-LETRAS-CON-POWER-QUERY3.jpg?resize=1024%2C519&ssl=1)
El resultado final es que tenemos 3 columnas con la información que necesitábamos.
![](https://i0.wp.com/excelsignum.com/wp-content/uploads/2020/11/EXTRAER-NUMEROS-O-LETRAS-CON-POWER-QUERY4.jpg?resize=1024%2C261&ssl=1)
Y esto es todo!. Aunque pueda parecer un post muy breve, creo que puede ser interesante tenerlo siempre como referencia.
Obviamente, existen otras fórmulas con las que se puede hacer esto en Power Query, pero a mí este método me gusta por lo sencillo y fácil que resulta.
Os dejo el archivo por si queréis practicar:
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies
Lo que Vd. profesor publica siempre es genial, muchisimas gracias
Saludos maestro una pregunta, al hacer el ejercicio me dice que «Text.Select» no es reconocida
No he podido reproducir el error que indicas, desconozco el problema.
Saludos
Le agradezco mucho esta solución propuesta. Es muy interesante su site y la forma como se explica.
Saludos desde Bogotá…
Excelente, saludos desde Valencia Venezuela
Una duda, si quiero buscar no solo un carácter o numero, sino una palabra complete o valores que estén en una columna??
Hola: Este post se refiere a extraer los números y las letras de una cadena de texto en una celda. Sobre la consulta que indicas puedes utilizar la función range.find para localizar una palabra. Utiliza el buscador de la página y encontrarás varios post relacionados.
Saludos.