【问题标题】:Excel Indirect function with Match带有匹配的 Excel 间接函数
【发布时间】:2021-08-12 19:15:18
【问题描述】:

我目前正在使用返回错误的以下公式。

我要做的是使用间接函数选择价格工作表中的整个列,然后根据 2 个条件从该列返回一个值。 我不确定我哪里出错了。任何帮助将不胜感激。

=INDEX(INDIRECT("Prices!J2:J2"),MATCH(F5,Prices!B:B,0),MATCH(D5,Prices!A:A,0))

  • Prices!J2:J2 在单元格 J2 中,我有我想在 Price 中引用的列 工作表

  • MATCH(F5,Prices!B:B,0),MATCH(D5,Prices!A:A,0) 我想从 上面引用的列,其中 2 个条件匹配。

下面的代码对我有用,但它并不健壮。我想让 INDIRECT 工作

=INDEX(Prices!BO:BO,MATCH(1,(D2=Prices!A:A)*(F2=Prices!$B:$B),0))

查看以下错误:

谢谢!

【问题讨论】:

    标签: excel indexing match excel-indirect


    【解决方案1】:

    看起来您正在尝试从 B 列中的 F2 中查找值,然后在 J 列中返回相应的条目。如果是这样,那么这是正确的语法:

    =INDEX(Prices!J:J,MATCH(F2,Prices!B:B,0),1)
    

    如果你添加 INDIRECT 也可以:

    =INDEX(INDIRECT("Prices!J:J"),MATCH(F2,Prices!B:B,0),1)
    

    这个网站是使用索引和匹配的一个很好的参考:

    https://exceljet.net/index-and-match

    编辑:来自聊天的一些更相关的信息帮助提问者找到了他的解决方案:

    要使上述公式中的“J”列可从单元格 F2 调整,请像这样连接地址:

    INDIRECT("Prices!"&J2&":"&J2)
    

    因此,如果您在单元格 J2 中输入“C”,则 INDIRECT 将引用“价格!C:C”,然后 INDEX 将从 C 列查找您的数据。

    至于 MATCH 语法,不要这样做:

    =INDEX(INDIRECT("Prices!"&J2&":"&J2),MATCH(1,(F3=Prices!B:B)‌​*(D3=Prices!$A:$A),0‌​))
    

    相反,连接 F3 和 D3,将 A 列和 B 列数据连接到 A 列,然后执行 MATCH,如下所示:

    =INDEX(INDIRECT("Prices!"&J2&":"&J2),MATCH(D3&F3,Prices!A:A​,0‌​))
    

    【讨论】:

    • 嗨@Dharman,感谢您的回复,不幸的是没有运气。我目前拥有的公式是 =INDEX(INDIRECT("Prices!J2:J2"),MATCH(F2,Prices!B:B)*​​(D5,Prices!A:A),0)。这对我不起作用,我不知道为什么。我想要做的是:我有一个列名,例如在单元格 J2 中键入“M”。我想间接引用另一张表中的此列,然后根据 2 个标准查找一个值。任何帮助将不胜感激。我整天都在这个问题上。
    • 我有这个有效的公式 =INDEX(Prices!G:G,MATCH(1,(F3=Prices!B:B)*​​(D3=Prices!$A:$A), 0))。但是当我添加间接它不会工作
    • 嗨@bI33p bI00p,不幸的是,这也不起作用。我收到一个值错误。
    • 如果我们可以从 J2 中获取字符串,是否需要间接的?
    • Nope 在单元格 J2 中输入“G”将不起作用。错误似乎出现在第二场比赛中。我已经在错误的原始问题中发布了一张图片。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    相关资源
    最近更新 更多