1. Faro

Nivel 5 · Nombres de producto con XLOOKUP

La solicitud

De Thomas Whitaker, Director de merchandising

“Estoy revisando las ventas de muebles de enero y los ids de producto no me dicen nada. ¿Puedes poner el nombre y la subcategoría junto a cada línea? La exportación del catálogo está a la derecha y sí, tiene el id en la última columna. Algunos productos se han descontinuado desde entonces, así que márcalos en lugar de mostrar errores.”

Tu objetivo

Usa XLOOKUP para rellenar D2:D20 con el nombre de producto de cada línea y E2:E20 con su subcategoría. Busca el product_id de la columna B en la columna product_id del catálogo I2:I17 (su última columna) y devuelve desde G2:G17 (nombre) o H2:H17 (subcategoría). Cuando un producto no esté en el catálogo, devuelve el texto "discontinued".

  • Llena D2:E20 con los valores correctospendiente
  • Con fórmulas, no con números escritospendiente
  • Usa XLOOKUPpendiente

Tu hoja

Excel
La hoja de este nivel
ABCDEFGHIJ
1order_item_idproduct_idquantityproduct_namesubcategory namesubcategory product_id
2183341088Vale Velvet LoveseatSofas101
3183421194Alder Oak Coffee TableTables102
4183851151Orchard Rattan Dining ChairChairs103
5183881104Upland Oak BookcaseStorage104
6183941091Avery Leather Bed FrameBeds105
7184191091Birch Teak Side TableTables107
8184211051Ashford Leather Dining ChairChairs108
9184381032Oakley Oak BookcaseStorage109
10184781183Linen Velvet HeadboardBeds110
11184861061Tidewater Teak LoveseatSofas111
12185011011Vale Walnut Coffee TableTables112
13185141081Bayside Rattan Dining ChairChairs113
14185191101Weston Ash Bed FrameBeds115
15185221171Orchard Walnut Side TableTables117
16185291111Willow Ash Lounge ChairChairs118
17185611151Alder Linen SideboardStorage119
18185711041
19185751062
20185821061
21
22

Cargando el editor…

    ResultadoPresiona Comprobar para comparar D2:E20

    Mote revisa tu resultado

    Presiona Comprobar. Cada celda correcta se vuelve una luciérnaga en tu linterna.

    La lección

    VLOOKUP tiene dos costumbres que viste en el nivel 3: solo busca en la primera columna de su tabla y cuenta las columnas por número. La exportación del catálogo de Thomas rompe la primera regla. El id está en la última columna, I, con el nombre y la subcategoría a su izquierda, en G y H. VLOOKUP no puede mirar hacia la izquierda. XLOOKUP, la búsqueda moderna de Excel 2021, Microsoft 365 y Google Sheets, sí.

    Busca en un rango, devuelve de otro

    =XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found])
    Argumento En D2 Significa
    lookup_value B2 el id que se busca (108)
    lookup_array $I$2:$I$17 la columna donde buscar
    return_array $G$2:$G$17 la columna de la que traer el valor
    if_not_found "discontinued" qué mostrar cuando el id no está

    En lugar de una tabla y un número de columna, XLOOKUP recibe dos rangos separados. Para la fila 2 encuentra 108 en la 7.ª fila de I2:I17 y devuelve el 7.º valor de G2:G17: Ashford Leather Dining Chair. Para la subcategoría, cambia solo el rango de retorno a $H$2:$H$17, que da Chairs. No importa de qué lado esté el rango de retorno, así que una búsqueda de derecha a izquierda no es más difícil que una de izquierda a derecha. Los dos rangos deben tener la misma altura; si no, XLOOKUP muestra #VALUE!.

    Coincidencia exacta por defecto

    XLOOKUP busca exactamente 108 a menos que le pidas otra cosa, y no le importa cómo esté ordenado el catálogo. No hay que acordarse de ningún FALSE. Su quinto argumento puede pedir en su lugar el siguiente valor menor o mayor, lo que sirve para tablas de tramos como las tarifas de envío del nivel 1, pero para ids quieres el valor por defecto.

    Un valor de reemplazo incorporado

    El catálogo solo lista los productos a la venta hoy. El producto 106 se descontinuó, y aparece en tres líneas (filas 11, 19 y 20). Sin cuarto argumento, XLOOKUP(B11,…) muestra #N/A. Con "discontinued", la celda dice lo que pasó, sin ningún IFERROR alrededor.

    Usa un valor de reemplazo solo cuando sepas por qué faltan las claves. Aquí la razón es clara. Si faltaran docenas de ids sin motivo, lo honesto sería dejar el #N/A y averiguar por qué.

    Fija los rangos de búsqueda

    Cada fila busca en el mismo catálogo, así que ambos rangos necesitan $. Rellenada hacia abajo sin ellos, I2:I17 pasa a I3:I18 en la fila siguiente, luego a I4:I19, y el catálogo se aleja una fila cada vez. En esta hoja eso convierte la línea de la fila 8 (producto 105, Avery Leather Bed Frame) en “discontinued”, porque el 105 ya se salió de la búsqueda. En total, ocho líneas de productos que siguen a la venta terminan marcadas como descontinuadas.

    Errores comunes

    • Intercambiar los dos rangos. XLOOKUP(B2,$G$2:$G$17,$I$2:$I$17) busca 108 entre los nombres y no encuentra nada.
    • Rangos sin fijar. Las primeras filas se ven bien, las de más abajo declaran que faltan productos.
    • Un número guardado como texto. Si los ids de una tabla son texto ("108"), XLOOKUP no los hará coincidir con el número 108. El texto queda a la izquierda de la celda, los números a la derecha.
    • Ocultar un problema real. Un valor de reemplazo en cada búsqueda puede tapar una unión rota. Cuenta los reemplazos: aquí son exactamente las 3 líneas del producto 106.
    • Esperar un derrame. En Microsoft 365 y Google Sheets, XLOOKUP(B2,$I$2:$I$17,$G$2:$H$17) devuelve nombre y subcategoría a la vez y se derrama en E. Esta hoja de práctica guarda un valor por celda, así que escribe una fórmula por columna.

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