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唯一的值。