Combinar funcións Suma, Desref y Dia

Lo que pretendo es utilizar la combinación de las funciones Suma y Desref, con el fin de ir realizando una suma dinámica de los datos de la columna "C", según se van actualizando sus registros, y pasarla a una celda concreta (Ejemp.: "H5"). El problema con el que me encuentro para realizar esto, es que no veo la forma de que el "alto" (de la función Desref) sea dinámico; es decir, que cada vez que ingrese la fecha en la columna "B", este "alto" se actualice solo, sin necesidad de tener que hacerlo manualmente.

Ejemp.: Imaginemos que en que en el rango B2:B11, se encuentran las fechas correlativas desde el 01/01/2015 al 10/01/2015 y en el rango C2:C11, los registros 2, 4, 6, 1, 10, 15, 1, 8, 9 y 10. Si la suma actualizada la queremos siempre en "H2", aplicamos la fórmula SUMA(DESREF(C1;1;0;DIA(B2))), realizaría la suma del primer registro "C1", que sería 2; si modificamos la función DIA a (B3), la suma sería 6; si DIA a B4, sumaría 12; y, así, sucesivamente, hasta llegar a DIA a (B11), que sumaría 66.

Pero, claro, habría que ir cambiando manualmente el rango en la función DIA ("alto" de la función DESREF). Por eso, mi pretensión de que este alto se actualice de forma automática, si es que se puede hacer, claro está.

Para cualquier duda, no dudéis en contactar conmigo.

1 Respuesta

Respuesta
1

H o l a:

Pero en función a qué, ¿sería automático el día (alto)?

¿A la fecha actual?

O a la última fecha que se tenga en la columna B, es decir, si en la columna B, solamente tienes 3 fechas, ¿entonces el día es B4?

La fórmula funciona siempre y cuando, la primer fecha se primero de cualquier mes, pero si no es 1, o no lleva un consecutivo, 1, 2, 3, etc, no funcionará.


Si es en base al número de fechas que tengas en la columna B, entonces podría ser así:

=SUMA(DESREF(C1;1;0;CONTARA(B:B)))

Pero si tienes encabezado, puede ser así:

=SUMA(DESREF(C1;1;0;CONTARA(B:B)-1))

Si quieres que sea más exacto, entonces así, de esta forma contará solamente 31 días que puede tener un mes.

=SUMA(DESREF(C1;1;0;CONTARA(B2:B32)))

Cualquiera de las fórmulas que aporta funcionan bien; pero el problema radica que que hay que actualizarlas manualmente; me explico:

estoy utilizando la combinación de las funciones Suma, Desref y Dia, esta última, referenciada a una celda determinada en la que se encuentra la función Hoy(), con el fin de ir realizando una suma dinámica de los datos que se encuentran en la columna "C", según se vayan actualizando sus registros. Hasta aquí, todo funciona perfectamente.

El problema surge cuando la función HOY() cambia de mes y, lógicamente, comienza en el día 1, con lo cual la función DIA toma como valor 1 y, por lo tanto, la función SUMA(DESREF( ref;fila;columna;DIA(referenciada a celda con función Hoy()))) te vuelca, como resultado la suma de la primera fila, que se corresponde con el día 1 de enero no de febrero.

Ejem.: Imaginemos que en que en el rango B2:B60, se encuentran las fechas correlativas desde el 01/01/2015 al 28/02/2015 (rango “B2:B32”, del 01/01/2015 al 31/01/2015; y en el rango “B33:B60”, del 01/02/2015 al 28/02/2015), en el rango C2:C60, los registros con datos numéricos; en “I1”, la fecha 31/01/2015; en “I2”, la fecha 01/02/2015 (lo pongo así para simular que la función HOY() ha pasado del 31 de enero al 1 de febrero, suponiendo que esta función siempre debería ir en una única celda, ejem.: “I1”).

Si en "F2", aplicamos la fórmula SUMA(DESREF($C$1;1;0;DIA(I1))), realizaría la suma del rango"C2:C32" (del 01/01/2015 al 31/01/2015).

Si en “F3”, ahora aplicamos la misma fórmula SUMA(DESREF($C$1;1;0;DIA(I2))), realizaría la suma del rango “C1”, no del “C33”, que es donde se encuentra el primer registro del mes de febrero, el 01/02/2015.

No se si me habré explicado bien; en cualquier cado, puedo mandarte un ejemplo para su mejor comprensión.

Gracias

Sí, envíame tu libro, con varios ejemplos, procura que los ejemplos sean reales, ya que en tu primer ejemplo mencionabas H2 y en el siguiente ejemplo mencionas F2 y F3, entonces pon datos reales, dime qué esperas de resultado en F2 y qué esperas de resultado en F3.

Utilizar dia( ), no es una alternativa, ya que como te mencioné la función día, te regresa el número de día y lo que necesitamos es el número de fila.

No re preocupes por la fórmula, eso lo resuelvo yo; solamente necesito saber de dónde a dónde quieres sumar y en dónde quieres el resultado.

Si quieres sumar los días de enero, tal vez sea necesario que en otra celda pongas qué mes quieres y en la celda de la derecha poner la fórmula para que te entregue el resultado de la suma.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Rg10” y el título de esta pregunta.

Te acabo de enviar dos correos con dos archivos, el bueno es el segundo, que contesta a tus preguntas.

Saludos

Te he vuelto a reenviar el archivo; ya que en el correo anterior se me olvidó ponerte el nombre de mi usuario.

Saludos

Utiliza la siguiente fórmula:

=SUMAPRODUCTO((MES(B2:B370)=E2)*(C2:C370))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas