【问题标题】:Returning multiple values using multiple matching criteria使用多个匹配条件返回多个值
【发布时间】:2015-12-08 14:25:27
【问题描述】:

我有一个三列的表。因此,列标题是:客户、事件和所有者。我想在参考单元格中输入“客户”和“事件”值,并让公式返回与客户和事件条件匹配的所有“所有者”值的列表。

我有一个公式可以根据一个条件过滤并返回所有匹配项的列表(F1 是我的参考单元格):

=IF(ISERROR(INDEX($C$1:$C$6,SMALL(IF($A$1:$A$6=$F$1,ROW($A$1:$A$6)),ROW(1:1)),1)),"",INDEX($C$1:$C$6,SMALL(IF($A$2:$A$6=$F$1,ROW($A$2:$A$6)),ROW(1:1))

我有一个公式可以过滤两个条件,但只返回第一个匹配项(J1 和 J2 是我的参考单元格):

=INDEX(C2:C6,MATCH(1,(A2:A6=J1)*(B2:B6=J2),0),1)

我需要帮助来组合这两个公式,以便我可以根据两个条件进行过滤并返回列表中的所有匹配项。我尝试向嵌套在第一个公式的 SMALL 函数中的 IF 语句添加第二个条件,但它似乎不起作用。

【问题讨论】:

  • 你能用 Excel 内置的数据过滤器吗?
  • 您的第一个公式令人惊讶。你确定它是正确的吗?我认为,如果您显示数据,您将获得更多帮助。
  • @xidgel:是的,我可以将数据过滤器用于第二个条件,但我希望通过公式简化流程。
  • 大家好,感谢您的关注。 @Excel Hero:我从教程网站上提取了第一个公式,但是如果您有更好的公式,我会全神贯注。这是我的数据:客户栏:North、North、North、South 事件栏:升级、升级、补丁、升级所有者栏:Ben、Josh、Kate、Tim 我想输入“North”和“Upgrade”并获得带有“Ben”和“Josh”的列表。让我知道是否有更好的方法来共享数据。我尝试了截图,但我还没有发布图片的要点。谢谢大家的帮助

标签: excel indexing filtering matching


【解决方案1】:

不看数据很难知道你需要什么,但请试一试。

这是一个数组公式,必须用Ctrl+Shift+Enter确认。

=IFERROR(INDEX(C$1:C$11,SMALL(IF((A$2:A$11=J$1)*(B$2:B$11=J$2),ROW(A$2:A$11)),ROW(1:1))),"")

确认公式后可以向下复制。

【讨论】:

  • 当我输入公式时,它会返回低于预期值的单元格的值。因此,如果预期结果在单元格 C2 中,则公式将返回 C3 的值。
  • 您的数据从哪一行开始?
  • 第 2 行。第 1 行包含列标题。我刚刚增加了索引的范围,现在它正在提取正确的单元格值。
  • 不幸的是,当我向下复制公式时,它会返回空白单元格而不是列表中的下一个匹配项。
  • @W_New 该网站的性质使得很难诊断正在发生的事情。你能把文件发给我吗?我敢肯定我可以快速排序。我的电子邮件地址是:daniel.ferry@gmail.com
猜你喜欢
  • 1970-01-01
  • 2017-04-21
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 2015-03-07
  • 1970-01-01
  • 2022-09-27
相关资源
最近更新 更多