对于给定的数据,想要找到 V2 中与 V1 中值之和最高的前 2 个类别。
所需输出:
为了获得 A、B 和 C 列中所需的输出,定义了以下公式。然而,这存在参考错误。
=TAKE(SORT(HSTACK(INDEX(Sheet1!B2:B12,,MATCH(E1,Sheet1!A1:B1,0)),CHOOSECOLS(Sheet1!A2:B12,1)),1,-1),2)
尝试以下公式:
• 单元格中使用的公式 D2
=LET(
a, UNIQUE(A2:A12),
b, TAKE(SORT(HSTACK(a,SUMIFS(B2:B12,A2:A12,a)),2,-1),2),
VSTACK({"Rank","V1","V2"},HSTACK({1;2},b)))
你也可以使用 MMULT() 代替 SUMIFS(),MMULT() 比 SUMIFS 占用更多资源,所以后者会更简单、更高效,仍然与 共享方法MMULT()
• 单元格中使用的公式 D2
=LET(
a, UNIQUE(A2:A12),
b, TAKE(SORT(HSTACK(a,MMULT(N(TOROW(A2:A12)=a),B2:B12)),2,-1),2),
VSTACK({"Rank","V1","V2"},HSTACK({1;2},b)))
或者,
• 单元格中使用的公式 D2
=HSTACK({1;2},
TAKE(SORT(UNIQUE(HSTACK(A2:A12,
SUMIFS(B2:B12,A2:A12,A2:A12))),2,-1),2))
或者,
• 单元格中使用的公式 D2
=HSTACK({"1";2},
TAKE(SORT(UNIQUE(HSTACK(A2:A12,
MMULT(N(A2:A12=TOROW(A2:A12)),B2:B12))),2,-1),2))