【问题标题】:Search and match using excel headers with duplicated values使用具有重复值的 excel 标题搜索和匹配
【发布时间】:2017-02-02 22:42:01
【问题描述】:

如下面的示例电子表格所示,我需要确定某个值是否出现在特定列标题下,并且在这将要查看的 50 列左右的列中有许多重复数据。我尝试了不同的方法,但我不知道要让 excel 搜索下面的 4 行,它找到了要匹配的数据。我还意识到,在示例中,公式应该输出是或否。

电子表格示例:

任何帮助将不胜感激。如果可能的话,我想用公式来做到这一点。

【问题讨论】:

  • 您可以使用HLOOKUP 或MATCH。
  • 欢迎来到 Stack Overflow!您可以先使用tour,然后学习How to Ask 一个好问题并创建一个minimal reproducible example。这让我们更容易为您提供帮助。
  • @jsheeran 同意了。虽然如果推荐匹配我也推荐明显包含 isna() 也
  • 谢谢大家的帮助,我想出了 =IFERROR(HLOOKUP(F1,'Computed Stat Values'!A1:CA10,MATCH(C2,'Computed Stat Values'!B1:B10, 0),FALSE),"No") 但是只有当我将匹配范围设置为我知道标题值匹配的区域时才有效,如果我将匹配范围扩展到 A1:CB10 结果总是“没有”

标签: excel excel-formula


【解决方案1】:

您的工作表图片有误。 X 和 Y 应该颠倒,或者你对你正在寻找的东西的陈述。

以下判断Y是否在X为标题的列中

如果是,它会返回一个正数;如果不是,它会返回一个错误值。

myTable、X 和 Y 指的是显而易见的。

我们使用 INDEX 函数并将 row 或 column 设置为 0 以返回整行或整列,具体取决于。

=MATCH(Y,INDEX(myTable,0,MATCH(X,INDEX(myTable,1,0),0)),0)

【讨论】:

  • 是的,我意识到我发完图片后,我想目标是确定一个值是否在标题下,值中有重复的数据
  • 这就像一个魅力,我应该早点来这里......我一直在努力弄清楚如何让它在一天的大部分时间里工作。非常感谢您的帮助
  • 哈,我只是不记得索引中任何行/列的语法,这让我发疯了。我在你的回答中看到了0,现在我在踢自己。很好的答案,感谢您解决了我对自己的挫败感。
  • @Glitch_Doctor 是的,在编写可能引用变量地址或表大小的公式时很有帮助。
【解决方案2】:

已编辑以适合您的正确范围 - 需要将工作表名称添加到第一个地址公式中

我已经完成了第 100 行的公式,您需要更新到正确的行数

我想出了这个解决方案,尽管它使用的是易变的INDIRECT。可能有更好的解决方案(我现在也会尝试一些 INDEX MATCHING),但现在这可行:

=IF(ISERROR(MATCH(C2,INDIRECT(ADDRESS(2,MATCH(F1,'Computed Stat Values'!A1:CB1,0),1,1,"Computed Stat Values")&":"&ADDRESS(100,MATCH(F1,'Computed Stat Values'!A1:CB1,0),1,1)),0)),"No","Yes")

基本上,我使用ADDRESS 和INDIRECT 根据标题行匹配为我们想要匹配的列构建数组范围。

ADDRESS(2和ADDRESS(4是匹配数据的起始行和结束行,请更新以覆盖足够的行。

编辑 - 在 SO 的姐妹网站 SuperUser:Link here.

=IF(ISERROR(MATCH(C2,OFFSET('Computed Stat Values'!A1:A100,0,MATCH(F1,'Computed Stat Values'!A1:CB1,0)-1),0)),"No","Yes")

偏移量是标题行中匹配项的列号。天才!

【讨论】:

  • 感谢您的帮助,我一直在尝试将这些内容添加到我的实际工作簿中……令人惊讶的是,这与馅饼和蛋糕无关……第一个总是返回错误,我认为是因为第一个 Match 需要搜索一个单独的工作表 =IF(ISERROR(MATCH(C2,INDIRECT("'Computed Stat Values'!"&ADDRESS(2,MATCH(F1,'Computed Stat Values'!A1:CB1,0))&":'Computed Stat Values'!"&ADDRESS(4,MATCH(F1,'Computed Stat Values'!A1:CB1,0))),0)),"No","Yes") 并且当我独立地弄乱命令时似乎创建了正确的引用,但我总是会出错。
  • 第二个总是返回值 2,无论是否匹配,或者即使数据在工作表上,出于好奇,偏移量之后的范围是否应该打开第二个工作表,还是有关系?
  • @MichaelElse 进行编辑以包含您的范围。我完成了第 100 行,您需要更新以反映数据的真实大小。
  • 所以问题是行,我没有意识到我需要更改,因为我认为匹配公式只是在第一行搜索匹配,然后获取列值来组合范围第一个匹配公式。
  • ...哇,我刚刚意识到问题是我在我所做的事情中添加了两次工作表名称...我觉得很愚蠢。
猜你喜欢
  • 2019-03-28
  • 2016-07-17
  • 2019-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
  • 2021-09-02
  • 1970-01-01
相关资源
最近更新 更多