1

我希望 excel 显示表格数组中的值,该数组有两个匹配的单元格com_cddiv_cd使用INDEXand MATCH

我尝试了以下公式,但没有奏效。

=INDEX(K9:K53,MATCH(K3,I9:I53,0),MATCH(K4,J9:J53,0)) 

这是 excel 表的屏幕截图,其中根据com_cd和给出了所需的结果div_cd

div

4

2 回答 2

1

INDEX 函数上的column_num参数不能简单地提供辅助行条件。您需要一种方法来确保row_num参数上的两列匹配并将column_num保留为空白或为1(只有列 in )。K9:K53

K5 的标准公式应该是,

=index(K9:K53, aggregate(15, 6, row(1:45)/((i9:i53=k3)*(j9:j53=k4)), 1))

... 或者,

=index(K9:K53, min(index(row(1:45)+((i9:i53<>k3)+(j9:j53<>k4))*1e99, , )))

单元格区域 K9:K53 共有 45 行。K9:K53 内的位置将在ROW(1:45). 第一个公式强制任何不匹配的行进入#DIV/0!错误状态,并且AGGREGATE¹ 函数使用选项6来忽略错误,同时使用SMALL 子函数(例如15)检索最小的有效条目。第二个公式通过将 1E+99(一个1后跟 99 个零)添加到任何不匹配的行并使用MIN 函数获取最小的匹配行来执行相同的操作。

      AGGREGATE 两列匹配


¹ AGGREGATE函数是在 Excel 2010 中引入的。它在早期版本中不可用。

于 2015-10-08T09:04:21.623 回答
1

尝试使用数组公式(CTRL + SHIFT + ENTER)而不是Enter.

=INDEX(K9:K53,MATCH(K3&K4,I9:I53&J9:J53,0),1)

未经测试,但应该可以工作。

稍后将编辑解释我们的公式以及您的公式不起作用的原因。

于 2015-10-08T08:24:46.867 回答