2

我正在尝试在 excel 中生成一个排序表,这取决于所选的年份和类别。

我的方法是在选定的年份和类别参数内按顺序找到最大值,执行以下操作:

E 列

{=LARGE(IF(('Master Data'!A$1:A$500 = $B$1) * ('Master Data'!B$1:B$500 = $B$2),'Master Data'!C$1:C$500), $B10)}

这很好用,$B$1$是我存储年份$B$2的地方,是我存储类别的地方,$B10在 column 引用硬编码的 1-25 B

F栏

{=MATCH(E10,IF(('Master Data'!A$1:A$500 = $B$1) * ('Master Data'!B$1:B$500 = $B$2),'Master Data'!C$1:C$500),FALSE)}

这将返回我需要的结果的行号,然后我将其与INDEX查找相关数据一起使用。

这样做的问题是 Match 只返回第一行号,如果您有两个具有相同值的结果,这显然会成为一个问题。

G栏

为了解决这个问题,我使用了来自dailydoseofexcel的示例,如下所示:

=IF(F10<>F11, F11, G10+MATCH(E11,INDIRECT("'Master Data'!C"&(G10+1)&":C500"),0))

出于我的目的,这在有限的范围内有效,因为它无法考虑我需要应用的年份和类别过滤器,所以我尝试了:

{=IF(F10<>F11, F11, G10+MATCH(E11,IF((INDIRECT("'Master Data'!A"&(G10+1)&":A500") = $C$2) * (INDIRECT("'Master Data'!B"&(G10+1)&":B500") = $C$3), INDIRECT("'Master Data'!C"&(G10+1)&":C500")),0))}

但我只是得到#N/A结果。

4

1 回答 1

0

我认为SUMPRODUCT可能是您正在寻找的东西:

Charley Kyd XL Legend:使用 SUMPRODUCT 获取列表中的最后一项

于 2013-03-28T12:34:02.030 回答