Ampliando XLOOKUP para Casos de Uso Reales
Desliza para mostrar el menú
Las búsquedas básicas son útiles para conectar tablas, pero los sistemas analíticos reales a menudo requieren una lógica de recuperación más avanzada. En este capítulo, se amplía XLOOKUP para admitir salidas de varias columnas, flujos de trabajo de clasificación dinámica y búsquedas inversas.
XLOOKUP de Varias Columnas
XLOOKUP puede devolver varias columnas a la vez si el rango de retorno abarca varias columnas.
Fórmula utilizada en este capítulo:
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
E2: valor de búsqueda;Products[Product]: columna de búsqueda;Products[[Category]:[Price]]: rango de retorno de varias columnas;"Not found": valor alternativo.
El resultado se expande horizontalmente a través de varias columnas.
Estructura MAX
=MAX(array)
array: valores numéricos evaluados.
Fórmula utilizada en este capítulo:
=MAX(Sales_Data[Revenue])
Esto devuelve el valor más alto de Revenue en el conjunto de datos.
Búsqueda Inversa con XLOOKUP
=XLOOKUP(J2,Sales_Data[Sales_Rep],Sales_Data[Order_ID],"Not found",0,-1)
0: modo de coincidencia exacta;-1: busca desde el último al primero.
Esto devuelve el registro coincidente más reciente en lugar del primero.
Dentro de la hoja Summary, crear una pequeña sección de búsqueda de productos.
En F2, escribir:
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
Los detalles del producto se expanden horizontalmente a través de varias columnas.
Cambiar el nombre del producto en E2.
Observar que todos los atributos relacionados se actualizan automáticamente.
En una celda aparte, escribir:
=MAX(Sales_Data[Revenue])
Esto identifica el valor de transacción más alto en el conjunto de datos.
En E2, escribir:
=XLOOKUP(MAX(Sales_Data[Revenue]),Sales_Data[Revenue],Sales_Data[Product],"Not found")
MAX(Sales_Data[Revenue]): valor más alto de Revenue;Sales_Data[Revenue]: columna de búsqueda;Sales_Data[Product]: producto devuelto.
La fórmula recupera dinámicamente el producto asociado a la transacción de mayor Revenue.
En F2, escribir:
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
El perfil completo del producto ahora se actualiza dinámicamente junto con el producto principal.
Crear una sección de entrada para Sales Rep. En la celda de resultado de búsqueda, escribir:
=XLOOKUP(J2,Sales_Data[Sales_Rep],Sales_Data[Order_ID],"Not found",0,-1)
La fórmula ahora devuelve el pedido más reciente para el Sales Rep seleccionado.
Cambiar el valor de Sales Rep en J2.
Confirmar que:
- La búsqueda siempre devuelve el pedido coincidente más reciente;
- Los valores repetidos ya no devuelven solo la primera ocurrencia.
1. ¿Qué sucede cuando XLOOKUP utiliza un rango de retorno de varias columnas?
2. ¿Por qué se combina MAX con XLOOKUP en modelos analíticos?
3. ¿Cuál es el efecto de usar search_mode = -1 en XLOOKUP?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla