¿Cómo combinar varios argumentos de matriz - SUMAR.SI(S)? ¿SUMAPRODUCTO?

¿Cómo combinar varios argumentos de matriz - SUMAR.SI(S)? ¿SUMAPRODUCTO?

Agradecería comentarios sobre esto.

Date          Value
7-Feb-2016     100
20-Feb-2016    200 
15-Mar-2016    300
25-Mar-2016    400

Mis dos criterios para una suma son

  1. La fecha debe ser <= 31 de marzo de 2016; y si se cumple 1. entonces

  2. fecha menos 31 de marzo de 2016 <= 30

En otras palabras, para cualquier fecha anterior al fin de mes (aquí, 31 de marzo de 2016), ¿cuál es la cantidad que tiene un lapso de menos de 30 días?

Esperaría que el resultado fuera 700 (300+400).

He probado esto:

SUMIFS(sum range,date range,"<="&42460,date range,date range-42460"<=30")
  • tenga en cuenta que '42460' se lee como 31 de marzo de 2016 en Excel y para el segundo criterio intenté usar el rango de fechas menos una constante.

¿Es posible incorporar ambos criterios en una fórmula de una sola línea?

Respuesta1

  • Tu pregunta no tiene (del todo) sentido. Tienes las condiciones

    1. La fecha debe ser ≤ 31 de marzo de 2016, y
    2. Fecha menos 31 de marzo de 2016 ≤ 30

    Bueno, si la fecha ≤ 31 de marzo de 2016, entonces la fecha menos el 31 de marzo de 2016 automáticamente debe ser ≤cero. Es decir, su segunda condición se cumple automáticamente para cada fecha (fila) que satisface la primera.

    A partir de su ejemplo (se incluyen las fechas de marzo, se excluyen las fechas de febrero), supongo que se refiere al 31 de marzo de 2016 menos la fecha ≤ 30. Esto se expresa de manera más práctica como fecha ≥ 31 de marzo de 2016 menos 30 (es decir, fecha ≥ 1 de marzo). 2016). Por cierto, noté que Scott Craner (sin relación) arregló esto sin explicarlo.

  • No convierta fechas en números y luego use esos números en fórmulas. Eso lleva a una hoja de cálculo que tendrá problemas para mantener y que nadie más podrá entender. Tú deberías
    • Coloque la fecha de finalización en una celda (por ejemplo, E1) y luego haga
      =SUMARSIFS($B$2:$B$5, $A$2:$A$5, ">=" & $E$1-30, $A$2:$A$5, "<=" & $E$1)
      o
    • Coloque la fecha en la fórmula de una manera que pueda ser entendida tanto por los humanos como por Excel:
      =SUMARSIFS($B$2:$B$5, $A$2:$A$5, ">=" & FECHA(2016,3,31)-30, $A$2:$A$5, "<=" & FECHA( 2016,3,31))
    • También podrías hacer
      =SUMIFS($B$2:$B$5, $A$2:$A$5, ">=3/1/2016", $A$2:$A$5, "<=31/3/2016")
      si conoce las fechas de inicio y finalización, pero no sé cómo hacer los cálculos (restar 30 días) en una fórmula de una sola línea usando esta notación.
  • Por supuesto, te das cuenta de que si E1es el 28 de febrero de 2015, entonces E1-30es el 29 de enero de 2015, ¿verdad? Si realmente quieres una ventana de 30 días, por mí está bien. Pero, si realmente desea agregar todas las entradas de un mes determinado, dígalo, porque hay mejores formas de hacerlo.

Respuesta2

La forma adecuada de SUMIFS():

=SUMIFS($B$2:$B$5, $A$2:$A$5, ">=" & 42460-30, $A$2:$A$5, "<=" & 42460)

ingrese la descripción de la imagen aquí

Lo que busca es todo entre el 31 de marzo de 2016 y el 31 de marzo de 2016: 30 días. Entonces,31 Mar 2016 - 30 <= Date <= 31 Mar 2016

información relacionada