如何在 SUMIFS 中包含两个总和范围 (excel)
How to include two2 sum ranges in SUMIFS (excel)
大家好,
我想在这个任务中实现的是:
如果AAPL
在获胜类别中出现次数最多,则Best performance
将是AAPL
,无论总P/L(总P/L 表示输赢)表示 AAPL
高于或低于 ROKU
。例如在上面的屏幕截图中,AAPL
在获胜类别中出现了 4 次,总 P/L 的 151.5
而 ROKU
出现了 2 次,总的 P/L 的 187
。因此 Best performance
将是 AAPL
而不是 ROKU
,即使 ROKU
的 P/L 更高。
但是,如果AAPL
和ROKU
在获奖类别中出现的频率相同,则Best performance
将由总P/L。所以在这种情况下,如果 ROKU
的总 P/L 仍然高于 AAPL
,那么 Best performance
将是 ROKU
。
我尝试使用 SUMIFS
,但它只允许我有一个导致 291.5
的总和范围。单元格 H6
中的公式是 =IF(B6:B215<>"",COUNTIF(B6:B215,B6:B215),"")
,单元格 I6
中的公式是 =MAX(H6:H215)
,单元格 J6
中的公式是 =MAX(SUMIFS(C6:C215,B6:B215,B6:B215,H6:H215,$I))
,如上面的屏幕截图所示。我认为我所做的不正确,但我不确定可以修改哪些内容。正确的输出应该是单元格 C2:C3
.
中的答案
请给我一些建议,告诉我应该如何修改我的公式才能实现这一目标。任何帮助将不胜感激!
编辑
- 列表项
如果你有ExcelO365,你可以通过任何帮助栏来实现它。试试下面的公式 C2
cell
=@LET(x,INDEX(FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,UNIQUE(B6:B11),COUNTIF(B6:B11,UNIQUE(B6:B11)),SUMIF(B6:B11,UNIQUE(B6:B11),C6:C11)+SUMIF(E6:E11,UNIQUE(B6:B11),F6:F11))&"</s></t>","//s"),TRANSPOSE(SEQUENCE(COUNTA(UNIQUE(B6:B11))+1,2))),SORTBY(x,INDEX(x,,2),-1,INDEX(x,,3),-1))
然后将下面的公式放入C3
单元格
=SUMIF(B6:B11,C2,C6:C11)+SUMIF(E6:E11,C2,F6:F11)
Edit: Try below formulas as per my screenshot with helping columns for Non 365 version of excel.
H6=IF($B:$B<>"",COUNTIF($B:$B,$B:$B),"")
I6=SUMIF($B:$B,B6,$C:$C)+SUMIF($E:$E,B6,$F:$F)
J6=H6*10^MAX($H:$H)+I6
C2=INDEX(IF(J6:J11=MAX(J6:J11),B6:B11,""),1) -->Array entry (CRTL+SHIFT+ENTER)
C3=SUMIF(B6:B11,C2,C6:C11)+SUMIF(E6:E11,C2,F6:F11)
Excel 365 版本的方法略有不同:
=INDEX(LET(UNIQUES,UNIQUE(B6:B11),SORTBY(UNIQUES,COUNTIF(B6:B11,UNIQUES),-1,SUMIF(B6:B11,UNIQUES,C6:C11)+SUMIF(E6:E11,UNIQUES,F6:F11),-1)),1)
如果第一列其中一个AAPL改成ROKU
上述公式的 pre-365 等效值应为:
=INDEX(
IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11),
MATCH(
MAX(
COUNTIF(B6:B11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11))*10^4+SUMIF(B6:B11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11),C6:C11)+SUMIF(E6:E11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0), MATCH(B6:B11,B6:B11,0))>0,B6:B11),F6:F11)
),
COUNTIF(B6:B11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11))*10^4+SUMIF(B6:B11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11),C6:C11)+SUMIF(E6:E11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11),F6:F11),0)
)
我使用 Frequency 来模拟 Unique 并将 Countif 乘以 10^4,然后将其添加到 Sumif 以使用两个排序键模拟 Sortby。
大家好,
我想在这个任务中实现的是:
如果
AAPL
在获胜类别中出现次数最多,则Best performance
将是AAPL
,无论总P/L(总P/L 表示输赢)表示AAPL
高于或低于ROKU
。例如在上面的屏幕截图中,AAPL
在获胜类别中出现了 4 次,总 P/L 的151.5
而ROKU
出现了 2 次,总的 P/L 的187
。因此Best performance
将是AAPL
而不是ROKU
,即使ROKU
的 P/L 更高。但是,如果
AAPL
和ROKU
在获奖类别中出现的频率相同,则Best performance
将由总P/L。所以在这种情况下,如果ROKU
的总 P/L 仍然高于AAPL
,那么Best performance
将是ROKU
。
我尝试使用 SUMIFS
,但它只允许我有一个导致 291.5
的总和范围。单元格 H6
中的公式是 =IF(B6:B215<>"",COUNTIF(B6:B215,B6:B215),"")
,单元格 I6
中的公式是 =MAX(H6:H215)
,单元格 J6
中的公式是 =MAX(SUMIFS(C6:C215,B6:B215,B6:B215,H6:H215,$I))
,如上面的屏幕截图所示。我认为我所做的不正确,但我不确定可以修改哪些内容。正确的输出应该是单元格 C2:C3
.
请给我一些建议,告诉我应该如何修改我的公式才能实现这一目标。任何帮助将不胜感激!
编辑
- 列表项
如果你有ExcelO365,你可以通过任何帮助栏来实现它。试试下面的公式 C2
cell
=@LET(x,INDEX(FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,UNIQUE(B6:B11),COUNTIF(B6:B11,UNIQUE(B6:B11)),SUMIF(B6:B11,UNIQUE(B6:B11),C6:C11)+SUMIF(E6:E11,UNIQUE(B6:B11),F6:F11))&"</s></t>","//s"),TRANSPOSE(SEQUENCE(COUNTA(UNIQUE(B6:B11))+1,2))),SORTBY(x,INDEX(x,,2),-1,INDEX(x,,3),-1))
然后将下面的公式放入C3
单元格
=SUMIF(B6:B11,C2,C6:C11)+SUMIF(E6:E11,C2,F6:F11)
Edit: Try below formulas as per my screenshot with helping columns for Non 365 version of excel.
H6=IF($B:$B<>"",COUNTIF($B:$B,$B:$B),"")
I6=SUMIF($B:$B,B6,$C:$C)+SUMIF($E:$E,B6,$F:$F)
J6=H6*10^MAX($H:$H)+I6
C2=INDEX(IF(J6:J11=MAX(J6:J11),B6:B11,""),1) -->Array entry (CRTL+SHIFT+ENTER)
C3=SUMIF(B6:B11,C2,C6:C11)+SUMIF(E6:E11,C2,F6:F11)
Excel 365 版本的方法略有不同:
=INDEX(LET(UNIQUES,UNIQUE(B6:B11),SORTBY(UNIQUES,COUNTIF(B6:B11,UNIQUES),-1,SUMIF(B6:B11,UNIQUES,C6:C11)+SUMIF(E6:E11,UNIQUES,F6:F11),-1)),1)
如果第一列其中一个AAPL改成ROKU
上述公式的 pre-365 等效值应为:
=INDEX(
IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11),
MATCH(
MAX(
COUNTIF(B6:B11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11))*10^4+SUMIF(B6:B11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11),C6:C11)+SUMIF(E6:E11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0), MATCH(B6:B11,B6:B11,0))>0,B6:B11),F6:F11)
),
COUNTIF(B6:B11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11))*10^4+SUMIF(B6:B11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11),C6:C11)+SUMIF(E6:E11,IF(FREQUENCY(MATCH(B6:B11,B6:B11,0),MATCH(B6:B11,B6:B11,0))>0,B6:B11),F6:F11),0)
)
我使用 Frequency 来模拟 Unique 并将 Countif 乘以 10^4,然后将其添加到 Sumif 以使用两个排序键模拟 Sortby。