Funciones de Matriz
Principiante

Separa las referencias de pedido del proveedor en número de pedido y número de revisión

TEXTBEFORE y TEXTAFTER cortan una cadena en un delimitador que solo tienes que nombrar una vez, en lugar de reconstruir una combinación de LEFT, RIGHT y FIND para cada formato distinto que envíe un proveedor.

Tarea:

Compras concilia cada mañana las confirmaciones de pedido de los proveedores contra el ERP. El feed EDI envía cada una como una sola referencia como PO-48213-REV2 — el número de pedido de compra y cuántas veces se ha revisado, unidos por un "-REV" que el feed usa siempre. La importación nocturna necesita esas dos partes en columnas separadas. En B2, usa TEXTBEFORE para extraer el número de pedido de A2, y en C2, usa TEXTAFTER junto con VALUE para convertir la etiqueta de revisión en un número. Copia ambas hasta la fila 5.

Objetivos de Aprendizaje:

  • Separar texto por un delimitador compartido con TEXTBEFORE y TEXTAFTER en lugar de combinar LEFT, RIGHT, FIND y LEN
  • Reconocer que TEXTAFTER devuelve texto aunque parezca un número, y convertirlo con VALUE cuando el resultado necesita comportarse como tal
  • Reutilizar un mismo argumento delimitador para separar las dos mitades de un valor
Pistas

Resuélvelo sin pistas para +5 XP

Hoja de Cálculo Interactiva

Los datos de este ejercicio

Esta es la cuadrícula con la que empiezas. Las referencias de celda de la tarea — B6, C2 — apuntan a los números de fila y letras de columna de abajo.

ABC
1Supplier ReferencePO NumberRevision #
2PO-48213-REV2
3PO-50011-REV1
4PO-49876-REV3
5PO-51200-REV1
Qué enseña este ejercicio (contiene la respuesta)

TEXTBEFORE(A2,"-REV") busca el delimitador "-REV" en PO-48213-REV2, lo encuentra justo después de 48213 y devuelve todo lo que queda a su izquierda: PO-48213. TEXTAFTER(A2,"-REV") hace lo contrario, devolviendo todo lo que sigue a ese mismo delimitador — el dígito 2 — pero como el texto "2", porque TEXTAFTER nunca examina lo que devuelve, solo por dónde corta. Envolverlo en VALUE(...) es lo que convierte ese texto en el número 2, por lo que la columna de revisión es VALUE(TEXTAFTER(...)) y no TEXTAFTER(...) a secas. Ambas funciones leen el mismo delimitador, así que una fórmula que ya cortó por "-REV" una vez no necesita una segunda versión, escrita de otra forma, para la otra mitad.