【问题标题】:How can I have an other lookup_array我怎样才能有另一个lookup_array
【发布时间】:2017-12-02 22:18:22
【问题描述】:

我也想查一下表格:

  • 声明。 M2, 17
  • 声明。 M3, 17
  • 声明。 M4, 17
  • 声明。 M5, 17
  • 声明。 M6, 17
  • 声明。 M7, 17
  • 声明。 M8, 17
  • 直到.... M12 (同样适用于床单 TV M1、2、3 等)

  1. 第一个公式位于名为“Decl. M1, 17”的工作表的单元格 J11 中:

    =IF(ISERROR(MATCH(""&MID(B11;FIND("-";B11;1)+1;11)&"";'TV M1, 17'!B :B;0));"未找到";"匹配"))

如何才能有另一个带有工作表名称的lookup_array:'TV M2, 17'!B:B;0, M3, M4, etc., until M12.


  1. 第二个公式位于名为“TV M1, 17”的工作表的单元格 O11 中:

    =IF(ISERROR(MATCH(""&MID(B11;FIND("-";B11;1)+1;11)&"";'Decl. M1, 17'! B:B;0));0;1))

这里也一样,我怎样才能有另一个带有工作表名称的lookup_array:'Decl. M2、17'!B:B;0、M3、M4 等,直到 M12。

奖励: 还从工作簿 2017 中查找另一个工作簿,查找 2018 年的整个工作簿,或者如果可能的话,与上述完全相同的工作表(但随后在工作簿 2018 中)。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    如果我直接理解您的问题,您可以使用INDIRECT

    替换公式中的此文本:

    'TV M1, 17'!B:B
    

    这样的事情(只是一个例子):

    INDIRECT("'TV M"&ROW()&", 17'!B:B")
    

    这会在第 1 行返回 'TV M1, 17'!B:B,在第 2 行返回 'TV M2, 17'!B:B,等等...

    当然,不必基于行,可以基于任何你想要的。

    警告!!! INDIRECT 对于这种情况很有用,但它也很危险,因为如果您更改工作表的名称,它不会像您期望的那样自动更新,您还必须手动更改 INDIRECT 中的名称。

    【讨论】:

    • 这不起作用:=IF(ISBLANK(B11);"formule";IF(ISERROR(MATCH(""&MID(B11;FIND("-";B11;1) +1;11)&"";INDIRECT("'TV M"&ROW()&", 17'!B:B;0")));"不匹配";"匹配"))跨度>
    • 公式在哪个单元格中?
    猜你喜欢
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 2021-11-12
    相关资源
    最近更新 更多