EXCEL - 索引匹配和动态范围
EXCEL - indexmatch and dynamic range
我想使用索引/匹配公式在具有 动态范围 行的另一个 table 中查找数据。
简单示例:
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
我想 return 在 C 列上建立索引,其中匹配了 A 列和 G 列中的 2 个条件。公式 =INDEX(C:C; MATCH(J1&5004;A:A&G:G;0))
对我不起作用,有什么建议吗?
我建议您在 table 1:
中添加一个辅助列
H
-
=IF(G1 = 5004; A1; "")
并在此辅助列上进行匹配,即 =INDEX(C:C; MATCH(J1; H:H; 0))
。
(对于使用英语语言环境的人,使用 ,
而不是 ;
作为列表分隔符)
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 的参数(即 "helper column" 的意思)
用数组公式(Ctrl+Shift+Enter)做起来很简单:
={MIN(IF((A:A=$J1)*(G:G=5000),C:C))}
向下拖动每行并调整静态值 (5000)
我想使用索引/匹配公式在具有 动态范围 行的另一个 table 中查找数据。 简单示例:
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
我想 return 在 C 列上建立索引,其中匹配了 A 列和 G 列中的 2 个条件。公式 =INDEX(C:C; MATCH(J1&5004;A:A&G:G;0))
对我不起作用,有什么建议吗?
我建议您在 table 1:
中添加一个辅助列H
-
=IF(G1 = 5004; A1; "")
并在此辅助列上进行匹配,即 =INDEX(C:C; MATCH(J1; H:H; 0))
。
(对于使用英语语言环境的人,使用 ,
而不是 ;
作为列表分隔符)
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 的参数(即 "helper column" 的意思)
用数组公式(Ctrl+Shift+Enter)做起来很简单:
={MIN(IF((A:A=$J1)*(G:G=5000),C:C))}
向下拖动每行并调整静态值 (5000)