Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Resolviendo Problemas Reales de Búsqueda | Sistemas Avanzados de Búsqueda y Modelado Relacional
Fórmulas de Excel

Resolviendo Problemas Reales de Búsqueda

Desliza para mostrar el menú

Las coincidencias exactas son útiles para modelos relacionales, pero muchos sistemas empresariales dependen de rangos y umbrales en lugar de valores fijos. En este capítulo, se utiliza la coincidencia aproximada para construir lógica de precios por niveles y cálculos dinámicos de descuentos.

Coincidencia Aproximada con XLOOKUP

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], -1)
  • lookup_value: valor evaluado;
  • lookup_array: valores umbral;
  • return_array: resultado devuelto;
  • -1: devuelve el valor más grande menor o igual que el valor buscado.

La coincidencia aproximada requiere que el array de búsqueda esté ordenado en orden ascendente.

Lógica Basada en Niveles

Las tablas de niveles definen umbrales mínimos en lugar de coincidencias exactas.

Ejemplo:

Min_UnitsDiscount_Rate
10%
55%
1010%
2015%

Excel evalúa dónde encaja el valor de Units dentro de la estructura de umbrales y devuelve la tasa de descuento correspondiente.

Paso 1 Crear la Tabla de Niveles de Precios
expand arrow

Crea una nueva hoja de cálculo llamada:

Pricing_Tiers

Agrega el siguiente conjunto de datos:

Min_Units;Discount_Rate
1;0%
5;5%
10;10%
20;15%

Convierte el conjunto de datos en una Tabla de Excel.

Confirma que Min_Units esté ordenado en orden ascendente.

Paso 2 Construir la Búsqueda de Descuento
expand arrow

Dentro de Sales_Data, crea una nueva columna llamada:

Discount_Rate

En la primera fila, escribe:

=XLOOKUP([@Units],Pricing_Tiers[Min_Units],Pricing_Tiers[Discount_Rate],0,-1)
  • [@Units]: valor de Units de la fila actual;
  • Pricing_Tiers[Min_Units]: columna de umbrales;
  • Pricing_Tiers[Discount_Rate]: valor de descuento devuelto;
  • 0: valor alternativo;
  • -1: modo de coincidencia aproximada.

Da formato a los resultados como porcentajes.

Paso 3 Calcular el Ingreso con Descuento
expand arrow

Crea una nueva columna llamada:

Discounted_Revenue

En la primera fila, escribe:

=[@Revenue]*(1-[@Discount_Rate])
  • [@Revenue]: valor original de Revenue;
  • [@Discount_Rate]: porcentaje de descuento aplicado.

El cálculo ahora se ajusta dinámicamente según el volumen de unidades.

Paso 4 Probar Actualizaciones Dinámicas de Niveles
expand arrow

Modifica los valores dentro de Pricing_Tiers.

Confirma que todos los cálculos dependientes se actualizan automáticamente.

Paso 5 Actualizar la Lógica del Producto Superior
expand arrow

Reemplaza la fórmula anterior de producto superior con:

=XLOOKUP(MAX(Sales_Data[Discounted_Revenue]),Sales_Data[Discounted_Revenue],Sales_Data[Product],"Not found")

La búsqueda ahora evalúa el rendimiento descontado en lugar del Revenue bruto.

Paso 6 Crear una Sección de Búsqueda Inversa
expand arrow

En la hoja Summary, crea una sección de entrada para:

Order_ID
Paso 7 Recuperar Información del Cliente
expand arrow

En la celda de resultado de búsqueda, escribe:

=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Customer_ID],"Not found")
  • M2: entrada de Order_ID;
  • Sales_Data[Order_ID]: columna de búsqueda;
  • Sales_Data[Customer_ID]: valor devuelto.
Paso 8 Recuperar Información del Producto
expand arrow

En otra celda de resultado, escribe:

=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Product],"Not found")

Las fórmulas ahora recuperan los detalles de la transacción dinámicamente a partir del Order_ID seleccionado.

Paso 9 Probar Búsquedas Dinámicas
expand arrow

Cambia el valor dentro de M2.

Confirma que:

  • Los valores de cliente se actualizan automáticamente;
  • Los valores de producto se actualizan automáticamente;
  • Las fórmulas siempre devuelven la transacción coincidente.

1. ¿Qué hace match_mode = -1 en XLOOKUP?

2. ¿Por qué debe estar ordenada la matriz de búsqueda al usar coincidencia aproximada?

3. ¿Qué hace que XLOOKUP sea adecuado para búsquedas inversas?

question mark

¿Qué hace match_mode = -1 en XLOOKUP?

Selecciona la respuesta correcta

question mark

¿Por qué debe estar ordenada la matriz de búsqueda al usar coincidencia aproximada?

Selecciona la respuesta correcta

question mark

¿Qué hace que XLOOKUP sea adecuado para búsquedas inversas?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 3. Capítulo 3
some-alt