Calcular costes por tramos escalonados con SUMAPRODUCTO y REDUCE
Un miembro de la comunidad desde Chile plantea un problema frecuente en facturación y logística: calcular el coste total cuando el precio varía por tramos (las primeras 10.000 unidades a un precio, las siguientes 4.000 a otro, etc.). La dificultad está en que cada tramo tiene un tope y un coste diferente.
Con SUMAPRODUCTO + LET (John): la solución matricial. Usa N(+rango) para coercer los límites de tramo en un array, y SUMAPRODUCTO para calcular el coste acumulado:
``
=LET(
h; N(+B1:B5);
SUMAPRODUCTO(--(F1 > h); F1 - h; C2:C6 - N(+C1:C5))
)
`
Sin LET (compatible con versiones anteriores):
`
=SUMAPRODUCTO(--(F1 > N(+B1:B5)); F1 - N(+B1:B5); C2:C6 - N(+C1:C5))
`
Con REDUCE + LAMBDA (John): enfoque iterativo que recorre cada tramo acumulando el coste con MIN para respetar los topes:
`
=SUMA(
REDUCE(0; B2:B6; LAMBDA(a; v;
APILARV(a; MIN(v; F1) - SUMA(a))
)) * N(+C1:C6)
)
`
John además explica un detalle técnico poco conocido: N(+rango) es necesario porque N(rango) sin el + solo devuelve el primer valor de un rango. El operador + fuerza la evaluación como array, y luego N() convierte el resultado a números.
Hugo conecta el problema con BUSCARV con coincidencia aproximada (VERDADERO como último argumento), que es la forma clásica de resolver escalones en Excel — aunque las soluciones con SUMAPRODUCTO y REDUCE` son mucho más flexibles y transparentes.
Más contenido de Excel en InflueXcel
- Reto de Excel: El cumpleaños de Bilbo 🎂 | CONTAR.SI y SUMAR.SI desde cero (Nivel 1) TutorialEn La Comarca se celebra el cumpleaños número 111 de Bilbo Bolsón: cerveza, pasteles, fuegos artificiales… y algún curioso escondido tras el
- ¡Excel PowerQuery Hack! Conexiones con rutas relativas en 10 minutos! Tutorial¿Harto de ajustar las conexiones en PowerQuery cada vez que compartes tu archivo de Excel? 🙄 Convierte las conexiones de PowerQuery con ruta
- Mejora un 90% el rendimiento de Power Query con SQLite TutorialPower Query es una herramienta potente para consolidar, combinar y calcular datos, pero cuando trabajamos con millones de registros y calcul
- Nueva Función IMPORTTEXT TutorialNueva función IMPORTTEXT en Excel!! https://techcommunity.microsoft.com/blog/microsoft365insiderblog/bring-data-into-excel-with-the-new-impo
- ¿Columnas con nombres distintos en Power Query? Tutorial¿Columnas con nombres distintos en Power Query? Aquí tienes la solución definitiva para normalizar tus datos y evitar errores al combinar fi
- BUSCARX con valor devuelto dinámico: elige la columna con un botón o un segmentador CasoUna integrante de la comunidad planteó un reto muy habitual al trabajar con tablas de varias columnas: tiene una lista de municipios con cua
- Saldo acumulado por mes: tres enfoques (REDUCE+BYROW, PIVOTARPOR+acumulado, MMULT) CasoJuan plantea una pregunta que parece sencilla y se acaba convirtiendo en tres clases magistrales sobre cómo recorrer una matriz mes a mes. T
- Mapa de España con burbujas: ubicar variables por provincia usando coordenadas X/Y CasoEsta semana surgió una duda muy visual en el grupo: cómo mostrar dos variables por provincia en un mapa de España — una pintada en intensida
- Regularización trimestral con AGRUPARPOR y ARCHIVOMAKEARRAY: del caos a una fórmula CasoCaso fresquito de la comunidad. Juan plantea un problema contable: tiene una tabla de movimientos (Nombre, Cuenta, Importe, Fecha) y necesit
- Grado de avance por proyecto: despivotar y volver a pivotar por fecha CasoNuevo caso de la comunidad con mucho jugo para los que trabajan con reporting de proyectos. Juan plantea un problema habitual en oficinas té