複数の配列引数を結合する方法 - SUMIF(S)? SUMPRODUCT?

複数の配列引数を結合する方法 - SUMIF(S)? SUMPRODUCT?

これについてご意見をいただければ幸いです。

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

私の要約の基準は2つあります

  1. 日付は2016年3月31日以下でなければなりません。1.が満たされる場合

  2. 日付 - 2016 年 3 月 31 日 <= 30

言い換えると、月末 (ここでは 2016 年 3 月 31 日) より前の任意の日付について、日数の範囲が 30 日未満の金額はいくらになるでしょうか。

出力は 700 (300+400) になると予想されます。

私はこれを試しました:

SUMIFS(sum range,date range,"<="&42460,date range,date range-42460"<=30")
  • 「42460」は Excel では 2016 年 3 月 31 日と読み取られ、2 番目の条件では日付範囲から定数を引いた値を使用しようとしたことに注意してください。

両方の基準を 1 行の式に組み込むことは可能ですか?

答え1

  • あなたの質問は(完全に)意味をなさない。条件は

    1. 日付は2016年3月31日以下でなければなりません。
    2. 日付 - 2016年3月31日 ≤ 30

    日付≤2016年3月31日の場合、日付から2016年3月31日を引いた値は自動的に≤ゼロつまり、最初の条件を満たすすべての日付 (行) に対して、2 番目の条件が自動的に true になります。

    あなたの例(3 月の日付は含まれ、2 月の日付は除外)から、2016 年 3 月 31 日から日付 ≤ 30 を引いたものだと思います。これは、日付 ≥ 2016 年 3 月 31 日から 30 を引いたもの(つまり、日付 ≥ 2016 年 3 月 1 日)とより実際的に表現されます。ちなみに、Scott Craner(無関係)が説明なしにこれを修正したことに気付きました。

  • 日付を数値に変換して数式に使用しないでください。そうすると、管理が困難になり、他の人には理解できないスプレッドシートが作成されます。
    • 終了日をセル(例えばE1)に入力し、
      =SUMIFS($B$2:$B$5, $A$2:$A$5, ">=" & $E$1-30, $A$2:$A$5, "<=" & $E$1)
      または
    • 人間と Excel の両方が理解できる方法で日付を数式に入力します。
      =SUMIFS($B$2:$B$5, $A$2:$A$5, ">=" & DATE(2016,3,31)-30, $A$2:$A$5, "<=" & DATE(2016,3,31))
    • あなたもそうすることができます
      =SUMIFS($B$2:$B$5, $A$2:$A$5, ">=3/1/2016", $A$2:$A$5, "<=3/31/2016")
      開始日と終了日はわかっているのですが、この表記法を使用して 1 行の式で計算 (30 日を減算) する方法がわかりません。
  • もちろん、E12015 年 2 月 28 日であれば、E1-302015 年 1 月 29 日であることはご存じですよね? 本当に 30 日間の期間が必要なら、それで構いません。ただし、特定の月のすべてのエントリを追加したい場合は、そう伝えてください。もっと良い方法があるからです。

答え2

の正しい形式SUMIFS():

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

ここに画像の説明を入力してください

あなたが探しているのは、2016年3月31日から2016年3月31日までの30日間のすべてです。31 Mar 2016 - 30 <= Date <= 31 Mar 2016

関連情報