Excel – 与大function的索引匹配:显示重复的值?

我正在使用以下数组forumla:

=INDEX('Opp Data'!$H:$H,MATCH(1,('Opp Data'!$G$1:$G$1000=$A$10)*('Opp Data'!$K$1:$K$1000=LARGE(IF('Opp Data'!$G$1:$G$1000=$A$10,'Opp Data'!$K$1:$K$1000),6)),0)) 

该公式旨在查找我的Opp数据表,其布局如下:

 Column H Column G Column K Client A Aerospace £200 Client B Rail £150 Client C Aerospace £100 

公式应该检查哪些客户花费最高,并使用大function,每行我可以设置我的第一,第二和第三大值等。

我也在检查我的单元格A10,里面有“航空航天”一词。 该公式只应返回列g中具有航空航天相应的客户名称。

我的最终结果应该是这样的。

 Client A Client C 

这工作正常,但是如果我们有两个客户端在列k中具有相同的值,如下所示:

 Column H Column G Column K Client A Aerospace £200 Client B Rail £150 Client C Aerospace £100 Client D Aerospace £100 

然后客户端D不列出,我的公式再现客户端C两次。

请有人可以告诉我如何获得重复值(不重复的客户名称)显示?

难道我做错了什么? 提前致谢

你需要在数组公式中添加一个Countif():

 =IFERROR(INDEX('Opp Data'!$H:$H,MATCH(1,('Opp Data'!$G$1:$G$1000=$A$10)*('Opp Data'!$K$1:$K$1000=LARGE(IF('Opp Data'!$G$1:$G$1000=$A$10,'Opp Data'!$K$1:$K$1000),ROW(1:1))*(COUNTIF($C$10:$C10,'Opp Data'!$H$1:$H$1000)=0)),0)),"") 

数数如果随着拖累而增长,看看什么是绝对的,什么是相对的。

我还添加了ROW(1:1),这是dynamic的,因为它被拖拽了,它从1变成2到3等等,所以大的k会自动调整。

作为数组公式,在退出编辑模式时,必须用Ctrl-Shift-Enter确认。 如果正确完成,Excel将自动在公式周围放置一个数组公式。

关于单元格地址,请参阅照片

在这里输入图像说明


如果按顺序添加值,则可以将AGGREGATE()公式用于非CSE数组。

获取值:

 =IFERROR(AGGREGATE(14,6,'Opp Data'!$K$1:$K$1000/('Opp Data'!$G$1:$G$1000=$A$10),ROW(1:1)),"") 

然后在另一列中引用数字列:

 =IF(D11="","",INDEX('Opp Data'!$H$1:$H$1000,AGGREGATE(15,6,ROW($1:$1000)/(('Opp Data'!$G$1:$G$4=$A$10)*('Opp Data'!$K$1:$K$4=Sheet12!D11)),COUNTIF($D$11:$D11,D11)))) 

这些都是非Ctrl-Shift-Enter数组公式,所以input正常的公式。

在这里输入图像说明

我也有这个问题。 我会对一个更优雅的解决scheme感兴趣,但是我的解决方法是添加一个额外的列来修改K列以使值唯一,并且让我的Large函数引用该列而不是K.像这样:

 =$K2 + row()/10000000 

应该为您可以在数组函数中引用的每行创build唯一的值。