1. Faro

Nivel 2 · Divide un código de pago, combina dos columnas

La solicitud

De Amanda Perez, Contadora

“Estoy conciliando el informe de liquidación de febrero del marketplace, settlement_feb_2025.csv. Sus códigos de transacción se ven como TX-2025-008514, y la última parte es nuestro número de pedido, que es por lo que cruzo. Su lista de contracargos nombra los artículos como producto-cliente, como 153-C01247, así que también necesito esa clave.”

Tu objetivo

Divide transaction_id en cada "-", conserva solo la parte numérica como una columna de número entero llamada order_id (descarta las otras dos partes) y luego añade una columna product_customer que una product_id, un guion y customer_code (por ejemplo 153-C01247).

  • Muestra exactamente order_id order_date customer_code product_id quantity amount product_customerpendiente
  • 53 filaspendiente

Tu hoja

Excel
La hoja de este nivel
transaction_idorder_datecustomer_codeproduct_idquantityamount
1TX-2025-0085142025-02-01C01247153165.69
2TX-2025-0085222025-02-01C00461185221.6
3TX-2025-0085222025-02-01C00461152225.18
4TX-2025-0085312025-02-02C00844164152.99
5TX-2025-0085442025-02-04C006971734556
6TX-2025-0085442025-02-04C00697190287.98
7TX-2025-0085502025-02-04C004961631139
8TX-2025-0085542025-02-04C00916122259.98
9TX-2025-0085542025-02-04C009161666161.94
10TX-2025-0085542025-02-04C00916186241.98
11TX-2025-0086072025-02-11C01153169166.99
12TX-2025-0086142025-02-12C00453184117.99
13TX-2025-0086172025-02-12C001841193777
14TX-2025-0086172025-02-12C00184142273.98
15TX-2025-0086172025-02-12C00184193239.98
16TX-2025-0086222025-02-13C01089165125.99
17TX-2025-0086222025-02-13C01089121131.99
18TX-2025-0086222025-02-13C01089150118.99
19TX-2025-0086222025-02-13C01089166126.99
20TX-2025-0086222025-02-13C01089184471.96
21TX-2025-0086242025-02-13C004711943447
22TX-2025-0086242025-02-13C00471150475.96
23TX-2025-0086272025-02-13C010871812358
24TX-2025-0086272025-02-13C01087190143.99
25TX-2025-0086282025-02-13C002341532145.98
26TX-2025-0086372025-02-14C010302032107.98
27TX-2025-0086372025-02-14C01030141113.99
28TX-2025-0086372025-02-14C01030191142.99
29TX-2025-0086442025-02-15C01269184235.98
30TX-2025-0086442025-02-15C012692152187.98
31TX-2025-0086442025-02-15C012691469143.91
32TX-2025-0086442025-02-15C012691993296.97
33TX-2025-0086662025-02-18C007061731139
34TX-2025-0086732025-02-19C01277185221.6
35TX-2025-0086732025-02-19C012771062412.2
36TX-2025-0086732025-02-19C01277141112.59
37TX-2025-0086732025-02-19C01277191138.69
38TX-2025-0086962025-02-22C00520154111.99
39TX-2025-0087012025-02-22C008131942298
40TX-2025-0087162025-02-24C004671271179
41TX-2025-0087162025-02-24C00467193479.96
42TX-2025-0087162025-02-24C0046721441036
43TX-2025-0087162025-02-24C0046711221038
44TX-2025-0087242025-02-25C01284193117.99
45TX-2025-0087242025-02-25C01284133288.18
46TX-2025-0087242025-02-25C012841731125.1
47TX-2025-0087372025-02-27C003511771169
48TX-2025-0087372025-02-27C003511061229
49TX-2025-0087372025-02-27C00351150118.99
50TX-2025-0087432025-02-28C009891591179
51TX-2025-0087432025-02-28C009891392358
52TX-2025-0087472025-02-28C000091871149
53TX-2025-0087472025-02-28C00009164152.99

Cargando el editor…

    ResultadoPresiona Comprobar para comparar el resultado de la consulta

    Mote revisa tu resultado

    Presiona Comprobar. Cada fila del resultado que coincide se vuelve una luciérnaga en tu linterna.

    La lección

    Las exportaciones de otros sistemas rara vez usan tus ids tal cual. El marketplace envuelve nuestro número de pedido en un código de transacción, TX-2025-008514, y Amanda necesita recuperar el número simple para cruzar el informe con nuestros pedidos. Eso es un trabajo de Dividir columna. Luego necesita lo contrario: dos columnas combinadas en una clave.

    Dividir una columna por un delimitador

    Split column: transaction_id by "-"

    Power Query corta el texto en cada guion y pone cada pieza en su propia columna, con el nombre del original más .1, .2, .3:

    transaction_id → transaction_id.1 transaction_id.2 transaction_id.3
    TX-2025-008514 TX 2025 008514

    Las tres columnas nuevas ocupan el lugar de transaction_id, que desaparece. Conserva la pieza que necesitas y quita las demás:

    Remove columns: transaction_id.1, transaction_id.2
    Rename column: transaction_id.3 to order_id

    En Excel: selecciona la columna, Inicio → Dividir columna → Por delimitador, elige --Personalizado-- y escribe -, elige En cada aparición del delimitador. Cambia el nombre con doble clic en el encabezado.

    La parte numérica sigue siendo texto

    008514 es texto: los ceros a la izquierda lo delatan, porque un número no los tiene. Nuestros ids de pedido son números (8514), así que el texto "008514" nunca coincidiría con ellos en una búsqueda o una combinación. Un paso más lo arregla:

    Change type: order_id to whole number

    Excel real suele añadir este por sí solo: justo después de una división, Power Query inserta un paso Changed Type que adivina los tipos de las columnas nuevas. Mira siempre lo que adivinó. Un código como 00123 que debe conservar sus ceros (un código postal, un SKU) tiene que seguir siendo texto.

    Combinar dos columnas en una clave

    La lista de contracargos identifica un artículo como 153-C01247: el id de producto, un guion y el código de cliente. Construye la misma clave con una columna personalizada:

    Add column: product_customer = Text.From([product_id]) & "-" & [customer_code]

    & une texto. product_id es un número, y M, a diferencia de una fórmula de celda de Excel, se niega a unir un número con texto: [product_id] & "-" es un error en cada fila. Text.From convierte primero el número en texto. En la primera fila da 153-C01247.

    En Excel, la versión con clics es Agregar columna → Combinar columnas: selecciona product_id y luego customer_code (el orden de los clics es el orden del resultado), elige un separador personalizado - y nombra la columna nueva. Usa en cambio Combinar columnas de la pestaña Transformar si quieres que los dos originales se reemplacen en lugar de conservarse.

    El M detrás de los pasos

    Table.SplitColumn(Source, "transaction_id",
        Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv),
        {"transaction_id.1", "transaction_id.2", "transaction_id.3"})
    Table.TransformColumnTypes(#"Renamed Columns", {{"order_id", Int64.Type}})
    Table.AddColumn(#"Changed Type", "product_customer",
        each Text.Combine({Text.From([product_id]), [customer_code]}, "-"), type text)

    Int64.Type es un número entero; type number es un decimal.

    Errores comunes

    • Unir un número con &. Envuélvelo en Text.From( ) o cambia primero su tipo a texto.
    • Conservar las tres columnas de la división. El verificador, igual que la persona que lee tu tabla, solo quiere el número de pedido.
    • Dejar order_id como texto. Muestra 008514, y una combinación con la tabla de pedidos no encuentra nada.
    • Dividir con un delimitador que también aparece dentro de los datos. Un nombre de producto como Oak-Leaf Vase dividido por - cae en dos columnas. Revisa los valores antes de elegir un delimitador.

    Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.