Problema al sumar valores si cumplen varias condiciones. Excel

Tengo una duda que no se muy bien como resolverla y como afrontarla.

Me gustaría obtener el promedio de unos valores contemplado entre una fechas determinadas.

El problema que me encuentro es que no se como hacer que se formular correctamente las condiciones de la suma para luego obtener el promedio.

Los colores usados en la imagen es solo para localizar los datos que más adelante voy a nombrar.

En la foto anterior en azul estarían los criterios. La fecha máxima y el mínimo de registros de ese mes que debe tener.

En amarillo encontramos los valores que se deberían sumar cumpliendo las condiciones anteriores.

Que fórmula o que modo puedo usar para obter estos 2 datos:

- La suma de los meses que cumplan los criterios de las celdas azules

- El numero de meses diferentes usados en la suma anterior, para luego poder hacer el promedio

1 Respuesta

Respuesta
2

No se entienden los criterios, ya que decís que el criterio es lo azul (el 3 y set-19), pero no me doy cuenta con esos criterios, como llegás a las celdas que marcás en amarillo.

Como idea te digo que lo que podés usar es la función sumar. Si (o sumar. Si. Conjunto), para saber la suma de los elementos que cumplan esos criterios, y luego usando la función contar. Si (o contar. Si. Conjunto) tendrías cuantos registros son, finalmente dividis ambos valores para tener el promedio.

Salu2

Hola Gustavo, lo intente con sumar si conjunto, el problema es que no sabia muy bien como formular la parte de que mínimo tiene que ver 3 registros en cada mes y que en caso de que tenga 3 o más seleccione todos los datos de ese mes y los sume.


Puedo que en la foto anterior no me explicara del todo bien. En los campos azules encontramos 2 condiciones para que haga la suma.

1- 09-19 Es el limite de la fecha de la suma. Debería sumar desde hoy hasta el 09-19 (setiembre de 2019)

2- Para poder hacer la suma mínimo debería tener 3 registros mensuales. En la foto en la columna DE he puesto manualmente la el numero de pedidos que hay ese mes.

La selección en amarillo son todas las fechas que van desde Hoy hasta el 01/09/2019 que tiene un mínimo de 3 registros. Todo lo que sobrepase de esa fecha o no llegue al mínimo de registros no debe estar en la suma.

Entiendo que que la misma función de suma podría obtener el numero de meses usados con contar diferente, pero el problema que no se solventar es como expresar esta función.

Si con Sumar si o sumar si conjunto funciona no logro encontrar el modo.

Creo que lo primero que deberías hacer es buscar la forma de hacer lo que pusiste a mano en la columna D, mediante una fórmula, porque hay algo que no estás diciendo. Pero supongamos que conseguiste esa fórmula (después veamos como), entonces te quedaría hacer lo que te digo, con algo como:

=sumar.si.conjunto(B:B;C:C;">="&E2;C:C;"<="HOY();D:D;">="&E9)/
contar.si.conjunto(C:C;">="&E2;C:C;"<="HOY();D:D;">="&E9)

Salu2

Hola Gustavo, muchas gracias por tu tiempo y dedicación.

He conseguido poder aplicar los números que ponía manualmente de manera automática con una fórmula. Para obtener estos números he extraído el mes y el año de la fecha y los he concatenado. =MES([@Fecha])&"/"&AÑO([@Fecha])

Para obtener el numero de registros por mes he aplicado esta formula: =CONTAR.SI($E$2:E2;E2)

Dandome como resultado esto

He intentado respetar los rangos de la tabla para no alterar en exceso tu fórmula propuesta.

He adaptado los 2 criterios que se han movido en sus respectivas columnas pero la formular que me has propuesto me salta un error en HOY, dice que no es válido.

¿Qué es lo que falla?

Lo que hiciste en la "Columna2" no sé si es necesario. Por otro lado en la celda H2, te diría que en lugar de ponerlo así, que sea una fecha 'normal', en todos casos, si como acá querés la información a partir de septiembre 19, poné como fecha 01-09-19

Creo que con eso solo y lo que tenés en la "Columna1", ya estaría listo lo que necesitas...

El problema de la formula ya esta solucionado, faltaba un & para concatenar el dia. El problema que los valores que dan no son los que deberian. He separado tu formula en dos partes, sumar si conjunto y contar si conjunto para ver los resultados de cada una de las operaciones.

Ninguna de las 2 formulas da un resultado correcto.

debajo del resultado de cada una de las celdas he puesto la formula. 
Si quieres he subido el arxivo en el drive por si lo quieres mirar.

https://drive.google.com/file/d/1dqDUwkKdHxH2BKBnO4bagdNV9G4dVZcM/view?usp=sharing 

Antes de ver el archivo te pregunto. Si mirás la imagen debajo, estoy marcando varias filas de rosado, donde el contador es menor que 3, pero me da la sensación que en tu cuenta si las estás considerando... ¿la columna D ("Columna1") debe ser mayor o igual a 3 o no?

Por lo que veo el problema es que la fórmula solo incluye de la columna DE a partir de 3 o superior excluyendo 1 y 2 siempre.

La fórmula que necesitaría es que si hay un mínimo de 3 registros se tengan en cuenta los registros 1 a POR de ese mes.

La fórmula final en caso de este documento debería sumar todos los valores que están con borde rojo. Como has marcado en la imagen los valores que no esta en color rojo esta dentro de ese recuadro rojo hecho por mi pero siempre excluyendo 1 y 2.


¿Qué modificaciones debería hacer?

¿No se si seria posible pero hay alguna forma para que en caso de que se cumpla una condición (en este el caso el 3) retroceda 2 celdas para contemplar el valor 1 y 2 en ese caso? ¿O se debería de volver a reeplantear todo desde un principio?

Cambiá la fórmula de la columna D para que siempre evalue todo el rango y no hasta la celda actual. Debería quedarte algo más o menos así:

Fórmula en D2, que luego deberías copiar hacia abajo

=contar.si(Tabla1[Columna2];E2)

Salu2

Muchas gracias Gustavo el sumar. Si. Conjunto ahora suma correctamente gracias a las modificaciones que me has indicado.

Pero la parte del contar los meses que forman suma sigue dando 14 y debería ser 4. Si no entiendo mal la fórmula, esta contando todos los valores por encima de 3 y como hay 14 celdas afectadas el recuento da 14 meses, pero verdaderamente son 4.
¿Cómo podría indicar que cuente solo los meses diferentes que estén afectados por las condiciones anteriores? (Las mismas que la de la suma)

Perdona por las molestias y por la gran ayuda que me estas aportando, llevaba mucho tiempo tras estas respuestas i justamente me estas dando estas 2 soluciones que necesitaba, muchas gracias por compartir tus conocimientos y tu tiempo con todos nosotros.

Para eso último se me ocurre generar otra columna adicional (Columna3) y luego cambiar la fórmula que actualmente te da 14.

La fórmula de la celda F2 dice:

=SI(CONTAR.SI($E$2:E2;[@Columna2])>1;0;CONTAR.SI($E$2:E2;[@Columna2]))

Mientras que la fórmula de H14 (que tiene que dar 4), ahora es:

=SUMAR.SI.CONJUNTO(Tabla1[Columna3];Tabla1[Fecha];">="&H2;Tabla1[Fecha];"<="& HOY();Tabla1[Columna1];">="&G9)

Gustavo de nuevo muchísimas gracias por tu ayuda. Todo funciona a la perfección, ahora mirare con detalle estas fórmulas para poder entenderlas e intentar aprender de ellas.
Muchas gracias por tu tiempo y perdona por la consulta tan larga y que le hayas tenido que dedicar tanto tiempo.

Un saldo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas