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)