Muy a menudo, recibimos datos en forma de caracteres encadenados. Para nuestros propósitos, es posible que no necesitemos la cadena completa, sino solo una parte. Por ejemplo, puede recibir una lista de números de transacciones que, en parte, contienen el número de identificación del cliente. Además, solo necesita la parte del cliente para crear una relación entre ese cliente y una tabla que contiene el nombre del cliente.
VER: Google Workspace frente a Microsoft 365: un análisis en paralelo con lista de verificación (TechRepublic Premium)
En este tutorial de Excel, le mostraré cómo usar las funciones de extracción y división de columna de Power Query para extraer cadenas delimitadas en sus componentes. Estoy usando microsoft 365 Escritorio y Power Query en Microsoft Excel. Power Query está disponible en versiones anteriores a través de Excel 10. Puede descargar el archivo de demostración de Microsoft Excel para este tutorial.
Por qué debería usar Power Query de Excel
Puede usar las funciones de cadena de Excel, Texto a columnas o Flash Fill, pero aquí hay razones por las que no:
- Texto en columnas escribe sobre los datos originales.
- Es posible que sus datos no estén en Excel, ya que aunque Power Query está disponible en Excel, Power Query puede importar datos de muchas fuentes, no solo de Excel.
- Los datos de origen contienen más filas que puede importar a Excel.
- Es posible que necesite usar Power Query para algo mucho más complejo y extraer un subconjunto de la entrada original es solo el primer paso.
Si los datos están en Excel, puede usar funciones o fórmulas, pero a menos que sea un experto, eso llevará un poco de tiempo. La mayoría de nosotros no podemos simplemente recitar la sintaxis necesaria y hacerlo bien la primera vez. Power Query es rápido y no requiere un conocimiento especializado de las funciones de Excel.
Cómo pasar los datos a Power Query
Trabajaremos con una hoja de Excel simple con algunas cadenas delimitadas en una tabla llamada TableCustomerID. No es necesario que reemplace el nombre de tabla predeterminado, pero es más fácil trabajar con nombres significativos si tiene varias tablas.
Supongamos que tiene una lista de números de identificación de clientes con tres secciones cada uno. Además, un carácter de guión sirve como delimitador entre las tres secciones (Figura A). Desea utilizar el componente central de cada cadena porque esa es la sección que realmente identifica a cada cliente. Los otros dos componentes identifican la región donde reside el cliente y un número de transacción.
Figura A
El primer paso es cargar los datos en Power Query de la siguiente manera:
1. Haga clic en cualquier lugar dentro de la tabla.
2. Haga clic en la pestaña Datos.
3. En el grupo Obtener y transformar datos, haga clic en Desde tabla/rango.
Eso es todo. La tabla simple que se muestra en Figura A ahora está en Power Query.
Con los datos en Power Query, puede comenzar a extraer secciones.
Cómo extraer cadenas delimitadas usando las opciones de extracción en Power Query
En realidad, hay dos formas de extraer datos en Power Query. Comenzaremos usando las opciones de extracción, que devuelve un subconjunto del valor original. Para hacerlo, haga clic en la pestaña Transformar y luego haga clic en el menú desplegable Extraer en el grupo Columna de texto.
Como puedes ver en Figura B, hay varias opciones y todas se explican por sí mismas en su mayor parte. Vamos a ver las opciones del delimitador para que pueda ver lo que hace cada uno.
Figura B
Después de hacer clic en el encabezado del campo ID de cliente para seleccionar la columna, haga clic en la pestaña Transformar, si es necesario, y luego haga clic en Extraer en el Grupo de columnas de texto. Elija la opción Texto antes del delimitador. En el cuadro de diálogo resultante, ingrese el carácter de guión (Figura C) y haga clic en Aceptar.
Figura C
Como puedes ver en Figura Desta opción devuelve solo los primeros caracteres antes del delimitador.
Figura D
Para recuperar los datos originales, elimine el paso Texto extraído antes del delimitador en el panel Pasos aplicados que se muestra en Figura E.
Figura E
Ahora, hagamos lo mismo con la siguiente opción, Texto después del delimitador. Cuando se le solicite, ingrese el carácter de guión y haga clic en Aceptar para ver los resultados que se muestran en Figura F. Esta vez, Power Query elimina los dos primeros caracteres, el primer número y el primer guión.
Figura F
Una vez más, recupere los datos originales eliminando el paso de extracción y luego elija la opción Texto entre delimitadores. Esta vez, Power Query solicita el suministro de dos delimitadores. En este caso, ambos son el carácter de guión (Figura G).
Figura G
Haga clic en Aceptar para ver los resultados que se muestran en Figura H.
Figura H
Ahora veremos otra forma de dividir las tres secciones de cada cuerda, pero no extraeremos partes de las cuerdas, dividiremos las cuerdas. Recupere los datos originales antes de continuar.
Cómo extraer cadenas delimitadas usando Split Column en Power Query
La columna dividida de Power Query lo ayuda a devolver más de una sola pieza de la cadena. Por ejemplo, supongamos que desea tres columnas de datos, una para cada sección. Para lograr esto, use Columna dividida de la siguiente manera:
1. Después de seleccionar la columna, haga clic en la pestaña Inicio.
2. En el grupo Transformar, haga clic en Dividir columna.
3. Haga clic en la primera opción, Por delimitador.
4. En el cuadro de diálogo resultante, no necesita hacer mucho porque Power Query hace un buen trabajo al discernir sus necesidades. Asegúrese de que Power Query seleccione Cada aparición del delimitador en la sección Dividir en (figura yo).
figura yo
5. Haga clic en Aceptar para ver los resultados en Figura J.
Figura J
Esta opción separa cada cadena en tres columnas utilizando el carácter delimitador para determinar dónde comienza y termina cada sección.
Como puede ver, tanto Extraer como Dividir columna lo ayudan a separar los datos rápidamente. Es probable que encuentre usos para ambos.