2015-11-06 41 views
-1

我的文件有四组列,我想抓取前5个列。有四列名称和四列,总金额在其中。我认为我有MATCH()公式的问题会抓取行号,但是每行最多可以有四个美元和名称。因此,当我尝试创建一个#N/A错误。我想其计算公式为:从Excel中的多列中抓取前5个事件

=INDEX(Franchise,MATCH(I37,Totals,0)) 

的是名称的四列和Totals是总数的四列。

在这一点上我很难过。

我将如何去创建该公式?

你可以看到我希望公式和结果发布在顶部的位置。

这是the file

+0

问题:前两名是“阿方索6,520,152美元”和“比尔5,25,1642美元”吗? – MacroMarc

回答

2

您需要获得排名前5的总计并使用它们检索Q x(或其他)标签。 LARGE function不喜欢不连续的单元格范围,但较新的AGGREGATE¹ function具有较大的子功能(),您可以用选项强制它忽略错误。强制任何不在D,H,L或P列中的任何内容成为#DIV/0!错误将会使其从任何计算中丢弃。

在M2使用这个标准的公式:

=AGGREGATE(14, 6, $D$10:$P$35/NOT(MOD(COLUMN($D:$P), 4)), ROW(1:1)) 

在K2使用这个标准的公式来检索第q X标签:

=IFERROR(INDEX($C$10:$C$35, MATCH(M2, $D$10:$D$35, 0)), 
IFERROR(INDEX($G$10:$G$35, MATCH(M2, $H$10:$H$35, 0)), 
IFERROR(INDEX($K$10:$K$35, MATCH(M2, $L$10:$L$35, 0)), 
     INDEX($O$10:$O$35, MATCH(M2, $P$10:$P$35, 0))))) 

填充K2:M2下降到K6:M6。你的结果应该类似于以下内容。

AGGREGATE LARGE with error

警告 - 如果有在顶部5的量的关系,更加复杂的公式将必须被设计以考虑与相同的总计多个事件。


¹AGGREGATE function用Excel 2010中引入的。它是不是在早期版本。

+0

这工作真棒!我不认为我自己会明白这一点。我需要更多地学习。 另外,我不担心重复。我可以改变一美元的金额。 –

+0

好的技术Jeeped。我在那里学到了关于不连续范围的东西,并使用了NOT部分...... – MacroMarc