【问题标题】:Assist with using INDEX and MATCH with Two Criteria - simple lookup table协助使用带有两个标准的 INDEX 和 MATCH - 简单的查找表
【发布时间】:2014-08-26 03:42:22
【问题描述】:

我正在尝试找出一些有据可查的东西,但我并没有完全理解它:尝试使用基于 2 个标准的 INDEX 和 MATCH 匹配单元格。

http://exceltactics.com/vlookup-multiple-criteria-using-index-match/

上面记录的示例比我的示例更复杂,并且包含更多列。我的情况更简单,但模型仍然适合。首先,这是我嵌入了查找表的电子表格(绿色块):

浅绿色块是我的查找表,其中包含所有站点和子站点。最终目标是根据 Site 和 SubSite 获取 SubSiteID。注意单元格 G2-G4 中的红色文本。这些是前 3 行的预期结果。要发现 SubSiteID,首先要找到该站点,即 Farmington Bus Park。在绿色块中,您会看到两次,但在子站点中只有 1 行带有“West” - 因此我们找到了正确的 SubSiteID 569。

第二个示例(Clearfield 高中)没有 SubSite,因此 SubSiteID 为 0。简单。

第三个示例(克林顿城市公园)有一个子站点“West”,因此通过查看绿色块,您会发现 SubSiteID 为 558。

我需要一个公式来查看 F2 和 H2(例如),在绿色表格中找到它们的匹配项,并在有匹配项时返回 SubSiteID。

您可以忽略这两个 SiteID 列,除非基于此而不是站点名称进行查找更有意义。

上面提到的文章中的示例公式是这样的:

=INDEX(C4:H1159,MATCH(1,(C4:C1159=A2)*(D4:D1159=B2),0),6)

我无法将该公式应用于我的特定案例。如果您能显示与我的工作表匹配的公式,我将不胜感激。

电子表格:http://www.usaarbiters.com/Schedule.xlsx

【问题讨论】:

    标签: excel excel-formula vlookup


    【解决方案1】:

    事实证明这是正确的答案:

    =INDEX($M$2:$M$39,MATCH(F2,IF($L$2:$L$39=I2,$K$2:$K$39),0))
    

    【讨论】:

    • 我以前没有见过这种方法,但它确实有效。如果您必须将其扩展到 2 个以上的条件,if 的使用可能会变得混乱。
    【解决方案2】:

    对于单元格 G2,试试这个公式 =INDEX(M:M,MATCH(1,(J:J=F2)*(L:L=H2),0))。这与您读到的基本思想相同,但更简单一些。

    如您引用的文章中所述,这是一个数组公式,因此必须按 Ctrl-Shift-Enter'ed。

    【讨论】:

    • Matt:当我在 G2 中使用该公式时,我得到了#N/A。我在此处发布了电子表格:usaarbiters.com/Schedule.xlsx(我也使用了 Ctrl-Shift-Enter)。
    • 这主要是因为与此处帖子中的内容相比,您在电子表格中进行了更改。所以试试=INDEX(M:M,MATCH(1,(K:K=F2)*(L:L=I2),0))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多