web-dev-qa-db-ja.com

Excel-SUMIF INDEXおよびMATCH

スミフ式で行き詰まっています。インデックスとマッチを組み合わせて使用​​すると、うまくいくと思いますが、過去1時間はできませんでした。

家の番号と2つの日付に応じて、数値の表から合計する必要があります。たとえば、日付が08-05-17と13-05-17の間の家1の数値を合計する必要があります。

私の以前のインデックスと一致の経験では、特定の1桁を取得するためにすべてを使用したことがありました。

What I'm trying to sum

Where the sum should go

2
Bake.G

OFFSETとINDIRECTは揮発性です。これはINDEX/MATCHで可能です

=SUMIFS(INDEX(Sheet1!$W:$AC,MATCH("House " & B4,Sheet1!$A:$A,0),0),Sheet1!$W$3:$AC$3,"<=" & $AE4,Sheet1!$W$3:$AC$3,">=" & $AD4)

0 INDEXの3番目の基準として、MATCHによって選択された行のすべての列が返されます。

この数式は、非揮発性かつ非配列です。

4
Scott Craner

仮定して:

  • 最初のテーブルはSheet1にあります
  • 最初の表の家1のデータは行4にあります
  • 2番目のテーブルは別のシートにあります
  • 2番目のテーブルの家1のデータは行4にあります

Sheet2のこの数式、セルAG4は機能するはずです。

SUM(INDIRECT("Sheet1!R4C"&22+MATCH(AD4,Sheet1!W3:AC3,0),FALSE):INDIRECT("Sheet1!R4C"&22+MATCH(AE4,Sheet1!W3:AC3,0),FALSE))
0
nicogen

以下を修正

=SUMIFS(OFFSET(B3:ZZ3,MATCH("house 1",E:E,0)-3,0),B3:ZZ3,">"&42863,B3:ZZ3,"<"&42868)

「house 1」を参照に変更します。

42863と42868をそれぞれ開始日と終了日の参照に変更します。 (数値は数値形式の単なる日付です。)

範囲と一致式の3を、日付を含む行番号に変更します。

b3:ZZ3を日付の行の範囲に変更します。データを継続的に更新していると仮定すると、例のZZ列のように範囲を増やすことでスペースを確保できます。

0
Nitesh Halai

配列操作を使用したAI4の式(CSEではなく通常の式):

=SUMPRODUCT(Sheet1!W4:XX100*
  (Sheet1!A4:A100 = "House " & A4)*
  (Sheet1!W3:XX3 >= AD4)*
  (Sheet1!W3:XX3 <= AE4))

pS Index/Matchバージョンは(おそらく)高速である必要がありますが、このフォームは読みやすさから気に入っています...

0
A.S.H