. 31.03.17 #Fórmula Matricial
Buenas, Marco
Lo que buscas se puede resolver con un par de fórmulas matriciales.
Es algo así como las fórmulas SUMAR. SI() o CONTAR. SI(), que suman o cuentan sobre la base de una condición, pero estas permiten agregar más condiciones y eventualmente modificar datos antes de usarlos para calcular "en el aire".
Estas fórmulas también son conocidas como CSE formulas, por Control+Shift+Enter que son las teclas que hay que presionar simultáneamente después de tipear la fórmula (no basta con Enter). Un par de llaves {} se agregarán automáticamente, encerrando la fórmula. Esto es FUNDAMENTAL para que funcione.
Al ser fórmulas, tiene la (enorme) ventaja de que el resultado es inmediato, sin necesidad de acordarse de ejecutar macro alguna.
Veamos en tu caso cómo usarlas para calcular la suma de las ventas de ese código en el período que le indiques.
En la celda AN20 coloca la siguiente fórmula, pero no presiones Enter aún
=SUMA(SI($AM$18=$A$2:$A$15;SI($B$1:$AT$1>=$AN$18;SI($B$1:$AT$1<=$AO$18;$B$2:$AT$15))))
Recuerda presionar Ctrl+Shift+Enter para ingresarla en la celda.
[Considera si usas comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]
Esta fórmula tomara del rango rectangular B2:AT15 aquellos valores de la fila donde esté el código indicado en la celda AM18 y donde la fecha de la columna sea igual o mayor que la de incio y sea menor que la de fin.
La fórmula para contar los dias que NO hubo venta es similar pero un poco más compleja (por eso la dejé para después)
En la celda AN19, pega la siguiente fórmula:
=SUMA(SI($AM$18=$A$2:$A$15;SI($B$1:$AT$1>=$AN$18;SI($B$1:$AT$1<=$AO$18;SI($B$2:$AT$15=0;1;0)))))}
y luego, ya sabes, Ctrl+Shift+Enter
Con los mismos criterios que la anterior, ésta agrega uno condicional más que es que en esa fila la venta haya sido cero.
Así, armará una matriz de 1 (unos) para cada valor igual a cero y luego los sumará (que equivale a su forma de CONTAR las celdas vacías).
Coméntame si mi solución resuelve lo que necesitabas -y, en tal caso, agradeceré que califiques mi contribución- o escríbeme de nuevo aquí, si precisas más apoyo con esto.
Un abrazo
Fernando