Excel: Visualiza la antigüedad de tu stock en un listado

Tengo una lista de artículos, con su fecha de compra. Cada artículo puede aparecer más de una vez porque, en general, se hacen varias compras de un mismo artículo. Necesito saber cuál es artículo que hace más veces que no se compra. Puedo hacerlo con una macro, pero me gustaría una forma más simple. ¿Puede hacerse con alguna función o combinación de funciones?
Viernes, 17 de Febrero de 2017

USERS: Este problema admite una solución relativamente compleja.

Por ejemplo, supongamos la lista de compras en el rango [A1:B15], con los artículos en la primera columna y las respectivas fechas de compra en la segunda. Títulos en la primera fila y los datos propiamente dichos a partir de la segunda. Comencemos por calcular la última fecha de compra de cada artículo.

En [C2], a la derecha de la primera fecha de compra, escribimos la expresión =MAX(SI(A$2:A$15=A2;B$2:B$15)). A esta expresión le tenemos que dar entrada con la combinación <Control+Shift+Enter>.

La fórmula anterior pertenece a la familia de “fórmulas matriciales”. Son fórmulas que hacen en un rango lo que, normalmente, se hace en una celda individual. Eso es evidente en la comparación A$2:A$15=A2, que no tendría sentido en una fórmula normal. La función SI compara cada celda del rango [A2:A15] con la celda [A2], que contiene el nombre del primer artículo de la lista. Cada vez que encuentra una coincidencia, “toma nota” de la fecha que hay en la respectiva celda del rango [B2:B15]. Para todas las fechas registradas, la función MAX elige la mayor. Es decir, la fecha de la fecha más reciente, para ese artículo. Al extender la fórmula a toda la lista, obtenemos la fecha de la última compra de cada artículo.

Ahora necesitamos obtener el artículo que tiene, de todas esas fechas, la más antigua. Es decir, la menor. Eso lo podemos hacer con tres fórmulas sucesivas.

* En [E1] escribimos la función =MIN(C2:C15) esto nos da la menor fecha de todas las “últimas compras” calculadas en [C2:C15].

* En [E2] escribimos la función =COINCIDIR(E1;C2:C15;0). Esto nos da la posición de la fecha anterior dentro de la lista de “últimas compras”.

* En [E3] escribimos la función =INDICE(A2:A15;E2). Esto nos da el artículo que ocupa, dentro del rango [A2:A15], la misma posición que la fecha calculada en [E1]. Es decir, el artículo cuya fecha de “última compra” es la más temprana.

Podemos encadenar todas las fórmulas en una sola: =INDICE(A2:A15;COINCIDIR(MIN(C2:C15);C2:C15;0)). Esta fórmula nos da directamente el nombre del artículo que lleva más tiempo sin comprarse.

Últimos lanzamientos Ver más