Arrastraara / copiar formula matricial e incrementar un valor

Hola necesito copiar una formula matrcial a las filas siguientes y que se incremente un valor.

esta es mi formula {=MAX(($Compras.C6:$Compras.C2500=B6)*($Compras.D6:$Compras.D2500))}

cuanto arrastro para aabjo esta formula necesito incrementar B6 a B7 luego B8 , etc … automaticamente

Es posible hacer eso?

Thanks!

Posteo cruzado: Drag Down Matrix Formula and increase value.

No porque al arrastrar extiendes la fórmula, tienes necesariamente que usar, copiar y pegar. De todas formulas tienes que fijar como absolutas las referencias $Compras.C$6:$Compras.C$2500
Prueba después de corregir la fórmula, utilizando la función SUMA.PRODUCTO(MAX(($Compras.C$6:$Compras.C$2500=B6)*($Compras.D$6:$Compras.D$2500))}), porque así no necesitas introducirla como matriz (suma.producto lo hace automáticamente), y podrás arrastrar.

1 Like

Gracias Mario.
Te consulto:
por un lado tengo una HOJA "COMPRAS"donde ingreso compras de productos , es decir que un producto puede aparecer varias veces y tiene las columnas: “PRODUCTO” “PRECIO” “PROVEEDOR” “CANTIDAD COMPRADA” “FECHA”

y por otro lado tengo otra HOJA “INGREDIENTES” donde se muestra cada ingrediente con su ultimo precio de compra y tiene estas mismas columnas.

como hago para que en la HOJA “INGREDIENTES” en cada columna de PRECIO, PROVEEDOR, etc (todas las que mostrarian lo que corresponde a la ultima compra) me traigan solo los valores correspondientes a la ultima compra.

Por otro lado Que hay de las funciones de base de datos ? se pueden usar para esto?

Gracias!!!

Tendrás que adjuntar un fichero de ejemplo indicando lo que quieres conseguir. Tendrás que ayudar a que te ayudemos.
Me suena lo que quieres.

1 Like

Costo & Beneficio.ods (152.8 KB)

Aquí adjunto archivo. Había armado la pregunta con imágenes adjuntas mas por mi cadegoría no me dejó hacerlo. Gracias!

el primer problema que me surge es en la HOJA INGREDIENTES que necesito traer los datos de la ultima y penultima compra de cada producto.

Gracias por la ayuda.

El problema es a que le llamas última y penúltima compra, ¿por el orden en que están?, ¿por orden de fecha?, la cual muchos no tienen.
Francamente, los datos deberían mantener un orden estricto para facilitar la búsqueda.

en la hoja COMPRAS, columna H (FECHA), ahi ingreso la fecha de compra , que como se ve en las primeras filas el Aceite de oliva esta 4 veces, son 4 compras distintas con distinta fecha. La ultima compra seria la fecha mas proxima a la actual y la penúltima la anterior.
La ultima fecha de compra de aceite de oliva seria 31/10/2022 y la penultima 03/10/2022.

Se aclara la cuestion?
La idea es que en la hoja de INGREDIENTES yo traigo datos de la ultima y penultima compra pues en otras hojas que no estan en el archivo uso directamente esa info de la hoja INGREDIENTES y a la vez con solo consultar dicha hoja puedo ver el ultimo precio y el penultimo sin tener que recurrir a la hoja de COMPRAS y aplicar filtros y demas. GRACIAS!!!

quiza tambien mi enfoque de como resolver la gestion de estos datos sea erroneo tambien.
Quiza teniendo una hoja de compras y que desde ahi se muestren en tablas dinamicas el listado de Ingredientes, en otra el listado de Packaging, en otra las Herramientas , quiza sea una solucion , mas no tengo idea de como trabajar con tablas dinamicas.
Entonces lo que hice es crear una hoja para cada categoria de producto que compro (y voy ingresando en la hoja Compras), o sea: una hoja para Ingredientes, otra hoja para Packaging, otra hoja para Servicios, otra hoja para Herramientas.

En la hoja de cada categoria de producto ingreso manualmente por unica vez el producto y desde ahi ya me aparece en el menu desplegable de la hoja compras para poder seleccionarlo, primer columna de esta hoja es la Categoria (Ingredientes por ejemplo), segunda columna es Subcategoria (Aceites & Vinagres por ejemplo) y de ahi en la tercer columna puedo elegir los productos que cumplan con las dos condiciones anteriores.

Luego en la hoja Ingredientes por ejemplo donde ya ingrese manualmente una fila con el producto nuevo o puede que ya haya sigo ingresado , puedo ver el detalle de las ultimas compras.

Sigo sin tener claro,
¿Los que no tienen fecha no hay que incluirlos en la búsqueda, nunca se compraron?.

Los que no tienen fecha son ingresos iniciales de compras que no tienen fecha asignada, podra convertir todos los sin fecha por una fecha X y listo , si es que esto complica

Adjunto el fichero con lo que creo es lo que quieres, pero verdaderamente la fórmula es realmente complicada, por la falta de organización de los datos.
Lo normal es que las compras a un mismo proveedor estuvieran ordenadas por fecha de compra.
Que las compras que no existen no aparezcan, puedes utilizar otro sitio para guardar los datos de las no compras y copiarlos cuando los necesites.
Para obtener la línea con el dato:
=SUMA.PRODUCTO((FILA(Compras.$H:$H)+5)*(Compras.$C$6:$C$2499=B8)*(Compras.$H$6:$H$2499>0)*(Compras.$H$6:$H$2499=K.ESIMO.MAYOR(SI((Compras.$C$6:$C$2499=B8);Compras.$H$6:$H$2499;0);2)))

Costo & Beneficio.ods (151.3 KB)
`

1 Like

Gracias por responder. Te consulto:

  • Porque utilizas la funcion SUMA.PRODUCTO ?
  • Que sucede cuando multiplicas como en formula varias matrices (que son todas de 1 columna por 2499 filas)?

Que ocurre con esta formula si la fecha de compra encontrada se repite?

Porque convierte automáticamente en matricial la(s) fórmula(s) en su interior, y así evitamos tener que introducirlas como matriciales, siendo más como para editarlas.
En cuanto al segundo punto, que devuelve un valor por cada línea, pero como en este caso son todos los valores cero menos uno, su suma devuelve el número de línea correcto con el valor.

y que ocurre si un producto está comprado dos veces en el mismo dia? es decir hay dos filas de compra del mismo producto con la misma fecha?

Se produciría un error porque obtendría la suma de las que tienen la misma fecha.
Lo cual puede solucionar añadiendo MAX() o MIN() antes de SUMA.PRODUCTO(), para que devuelva la última o la primera según te interese.
Pero debo insistir en que una tabla debe tener los datos de forma coherente para facilitar la consulta de los datos, en este caso si las fechas van de menor a mayor, con MAX() obtendrías la última de esa fecha. Y así aseguramos que el resultado es un número de fila, no la suma de varios.

H8: =SUMA.PRODUCTO(MAX((FILA(Compras.$H:$H)+5)*(Compras.$C$6:$C$2500=B8)*(Compras.$H$6:$H$2500>0)*(Compras.$H$6:$H$2500=K.ESIMO.MAYOR(SI((Compras.$C$6:$C$2500=B8);Compras.$H$6:$H$2500;0);2))))