使用具有重复值的Excel标头进行搜索和匹配

时间:2017-02-02 13:01:36

标签: excel excel-formula

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

示例电子表格:

Example Spreadsheet

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

2 个答案:

答案 0 :(得分:1)

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

我已经完成了第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")

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

ADDRESS(2ADDRESS(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")

Offset是标题行中匹配的列号。天才!

答案 1 :(得分:1)

您的工作表图片出错。要么颠倒X和Y,要么你的陈述是关于你要找的东西。

以下内容列出了Y

标题中的X是否在myTable

如果是这样,它将返回正数;如果没有,它将返回错误值。

XYINDEX是指明显的。

我们使用设置为row的{​​{1}}函数或设置为column的{​​{1}}来返回整个行或列,具体取决于。

0