【问题标题】:EXCEL - indexmatch and dynamic rangeEXCEL - 索引匹配和动态范围
【发布时间】:2015-05-22 08:37:46
【问题描述】:

我想使用索引/匹配公式在另一个具有动态范围行的表中查找数据。 简单例子:

Table 1:
 A C G
 - - -
 1 6 5000
 2 4 5003
 3 5 5006
 2 7 5004

Table 2:
J K
_ _
1 =Formula..
2
3
5

我想返回 C 列的索引,其中 A 和 G 列的 2 个条件匹配。公式=INDEX(C:C; MATCH(J1&5004;A:A&G:G;0)) 不适合我,有什么建议吗?

【问题讨论】:

  • 您能否更具体地说明您的标准?
  • 我想从表 1 - 列 C 中获取数据,其中 2 个标准必须匹配,即来自表 1 - 列 A 和 G 必须与表 2 中的列 J 匹配并插入一定数量在公式中。因此,表 1 中的 A 列必须与表 2 中的 J 列匹配,表 1 中的 G 列必须与公式中手动插入的特定数字匹配(5000、5003、..)。当满足条件时,从 C 列的表 1 中获取值。

标签: excel indexing


【解决方案1】:
Table 1:
 A C G     **X**
 - - -     **-**
 1 6 5000  **=A1&"#"&G1**
 2 4 5003  **=A2&"#"&G2**
 3 5 5006  **=A3&"#"&G3**
 2 7 5004  **=A3&"#"&G3**

Table 2:
J K
_ _
1 =Formula..
2
3
5

因此,您可以使用 X 作为 MATCH 的参数(即“辅助列”的意思)

【讨论】:

    【解决方案2】:

    我建议你在表 1 中添加一个辅助列:

    H
    -
    =IF(G1 = 5004; A1; "")
    

    并在此帮助列上进行匹配,即=INDEX(C:C; MATCH(J1; H:H; 0))

    (对于使用英语语言环境的人,使用, 而不是; 作为列表分隔符)

    【讨论】:

      【解决方案3】:

      用数组公式做起来很简单(Ctrl+Shift+Enter):

      ={MIN(IF((A:A=$J1)*(G:G=5000),C:C))}
      

      每行向下拖动,调整静态值(5000)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-17
        • 1970-01-01
        • 2019-04-11
        • 1970-01-01
        • 1970-01-01
        • 2016-01-14
        • 1970-01-01
        相关资源
        最近更新 更多