簡體   English   中英

具有3個或更多多個數組條件的求和

[英]sumifs with 3 or more multiple array criteria

我有一個SUMIFS ,可以處理下拉列表和復選框中包含的值。 下拉列表中的值用作AND准則(即,以下拉列表中的該值與下拉列表中的該值為條件的列求和),但是當我想在復選框中包括這些值時,事情變得棘手根據用戶輸入是動態的。 本質上,復選框中的值需要用作OR條件(即,如果選擇了框1,則基於該值對一列求和;如果選擇了框2,則以該值為基礎,也以下拉菜單中的值為條件)。

在線示例顯示,通過執行以下操作,您可以使用OR條件獲得總和:

{=SUM(SUMIFS(sumrange,
    criteriarange0,"x",
    criteriarange1,{"1","2","3"},
    criteriarange2,{"A";"B"}
))}

哪里
"x"是下拉菜單中的值,
{"1","2","3"}是在三個對應的復選框中打勾的結果值,
如果勾選了它們的鏈接復選框,則{"A";"B"}是另一組結果值。
1,2,3,A,B均為布爾值,因為如果未選中復選框,則它們可以從值更改為0(因此存在組合矩陣)。

我的問題是,如何使用3個或多個作為OR條件的多個數組來執行此操作,這些數組在公式中被引用為單元格引用? 像這樣:

{=SUM(SUMIFS(sumrange, 
    criteriarange0,"x", 
    criteriarange1,value_range1, 
    criteriarange2,value_range2, 
    criteriarange3,value_range3
))}

我發現了涉及SUMPRODUCTISNUMBER(MATCH()公式的東西,但無法使其正常工作,此外該表是500,000行x 100列,因此該公式需要有效。

這是我目前帶有注釋的原始公式:

={SUM(

SUMIFS(sumrange,$A:$A, $A1, $B:$B, $B1, $C:$C, $C1...,  

求和一個范圍,該范圍取決於單元格$ A1,$ B1,$ C1中的值。 這些是AND條件。

$E:$E,$AA10:$AC10, 

'在$ AA10:$ AC10中包含動態值,這些值的值分別為:5年,10年,15年。 這些是OR條件。

$F:$F,{$AA11;$AC11}, 

”還包括針對不同單元格范圍的這些動態值:“ 5天,10天,15天”。 這些是OR條件。

$G:$G,{$AA12;$AJ12})
)} 

並包括這些多個動態值,這些值也是OR標准:“ 5個蘋果,10個梨,15個香蕉”。

可以選擇動態值的任何組合。

您可以對兩個代表最后一個標准的SUMIFS產生的總數求和。

=SUM(SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, "a")), 
     SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, "b")))

最后兩個條件不能與第二個條件在同一布局中使用。 這會在數組的循環計算過程中產生混亂和錯誤的計算。 但是,如果您可以認為最后一個條件與第二個條件位於不同的布局中,則計算周期應會產生正確的結果。 TRANSPOSE將更改最后一個條件數組的“方向”,從而更改其計算方式。

=SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, TRANSPOSE({"a","b"})))

這將產生與第一個公式相同的結果¹。

要添加第三組基於OR的條件,您需要將兩種方法結合起來。

=SUM(SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, TRANSPOSE({"a","b"}), E:E, "m")),
     SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, TRANSPOSE({"a","b"}), E:E, "n")),
     SUM(SUMIFS(A:A, B:B, "x", C:C, {1,2,3}, D:D, TRANSPOSE({"a","b"}), E:E, "o")))

¹ 樣本數據:
列A充滿隨機數。
B列中填充= CHAR(RANDBETWEEN(87,89))
C列中填充= RANDBETWEEN(0,5)
D列中填充= CHAR(RANDBETWEEN(65,67))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM