通过 ID 分组来查找排名靠前的值,同时获取三个 Excel 工作表中的值

问题描述 投票:0回答:1

假设我的 Excel 工作簿中有三个不同的工作表,每个工作表中的内容和计算如下所述。 表1 它有 3 列,名为lookup_id、S1、S2。

第2页

初始工作表 2 仅包含三列:Name、ID 和 Lookup_id。

第1步:使用vlookup函数从表1中获取S1和S2中的值。

第2步:“Sum”列是S1和S2的总和。

第 3 步:“Sum_by ID”列的公式为

=IF(COUNTIF(B$2:B2,B2)>1,"",SUMIF($B$2:$B$10,B2,$F$2:$F$10))

我想要的最终结果是前 2 个“Sum_by ID”值,如另一张表 3 中所示

第3页

在表 3 中,前 2 个值是使用以下公式获得的

=LARGE(Sheet2!$G$2:$G$10,A2)

现在,我想要表 3 中显示的结果,而无需完成表 2 中的步骤 1、步骤 2 和步骤 3。

本质上,我不想在 Sheet 2 中进行任何计算,只使用 Sheet 1 和 Sheet 2(最初包含前三列)作为参考并完成 Sheet 3 中的所有步骤。

我们怎样才能实现这一目标?

excel sorting excel-formula sum vlookup
1个回答
0
投票

类似这样的:

=TAKE(SORT(HSTACK(MAP(UNIQUE(B9:B14),LAMBDA(z,SUMPRODUCT(N(B9:B14=z),MAP(C9:C14,LAMBDA(x,SUM(XLOOKUP(x,A2:A7,B2:C7,0,0))))))),CHOOSECOLS(UNIQUE(A9:B14),2),CHOOSECOLS(UNIQUE(A9:B14),1)),1,-1),2)

结果:

© www.soinside.com 2019 - 2024. All rights reserved.