【问题标题】:Excel - Index Match with Large function: Show duplicate values?Excel - 具有大功能的索引匹配:显示重复值?
【发布时间】:2016-07-17 06:49:45
【问题描述】:

我正在使用以下数组论坛:

=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

公式应该检查哪些客户的支出最高并使用大函数,在每一行我可以设置我的第一个、第二个和第三个最大值等。

我也在检查我的单元格 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() 来实现。但要修改方程式,我现在需要第一个单元格地址。

标签: arrays excel indexing match


【解决方案1】:

我也遇到过这个问题。我会对更优雅的解决方案感兴趣,但我的解决方法是添加一个额外的列来修改列 K 以使值唯一,并让我的大型函数引用该列而不是 K。类似于:

=$K2 + row()/10000000  

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

【讨论】:

  • 感谢您的建议,但是当您说这使值独一无二时,您的意思是说这会改变值,因为我需要这些值是 100% 准确并且无法更改:(
  • 您不会更改 K 列,并将任何需要完全准确的内容链接到 K 列,只需使用新列来取消大型公式的重复值。
【解决方案2】:

您需要在数组公式中添加一个 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),这是动态的,当它被向下拖动时,它会从 1 变为 2 到 3 等等,所以 Large 中的 k 会自动调整。

作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 确认。正确完成后,Excel 会自动将{} 放在公式周围以表示数组公式。

请参阅照片以获取有关手机地址的参考。


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

获取值:

=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 数组公式,因此请按普通公式输入。

【讨论】:

    猜你喜欢
    • 2017-05-08
    • 2019-06-15
    • 1970-01-01
    • 2019-02-21
    • 2021-12-13
    • 2021-09-02
    • 1970-01-01
    • 2018-10-09
    • 2013-08-30
    相关资源
    最近更新 更多