2013-03-28 60 views
2

我想在excel中生成一个排序表,这取决于所选的年份和类别。查找MATCH的下一个结果

我的方法已被顺序为了找到最大的价值,选择一年和类别参数范围内,执行以下操作:

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引用了B列中的硬编码1-25。

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作为结果。

+0

你想要做什么样的是列表,但把你选择的年份和类别之上,是否正确?你担心其他物品如何分类? – LeppyR64 2014-05-18 23:14:19

回答