指数匹配匹配 - 正确的方法?

时间:2015-12-17 13:10:30

标签: excel

我的数据源格式如下所示。实际上,这将包含几千行。

enter image description here

我需要使用像INDEX-MATCH-MATCH这样的东西,以便能够获得每个UserID的每个“Content”项的“Status”。 最终结果应如下所示。前两列不是动态的。 INDEX公式转到C和D.

enter image description here

我使用以下序列来尝试编写公式,但我似乎不明白问题所在。

= INDEX(Sheet1!A:K,[垂直位置],[水平位置])

使用ID xxx查找用户:

= INDEX(Sheet1!A:K,MATCH(A2,Sheet1!A:K,0),[水平位置])

查找eLearn1的状态。

= INDEX(Sheet1!A:K,MATCH(A2,Sheet1!A:K,0),MATCH(“Status”,Sheet1!A:K,0))

我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题不明确,但我认为您正在尝试根据两列的值进行LOOKUP。因此,对于列A(用户ID)和列B(内容)的特定值,您需要返回列H(状态)。

这可以使用数组公式来返回匹配行的行号,该行号可以输入到INDEX中。请注意,只有列A和B只有唯一的配对时,这才会起作用。

我已经设置了一些示例数据: Sample Data 列A-C是我的源数据。单元格G2:H4是查找。 公式是:

= INDEX($ C $ 1:$ C $ 7,SUM(($ A $ 1:$ A $ 7 = $ F2)*($ B $ 1:$ B $ 7 = G $ 1)* ROW($ C $ 1:$ C $ 7)))

这需要按CTRL-ALT-ENTER作为数组公式输入。 该公式的工作原理是匹配您在两个数组中搜索的值并将结果相乘。这应该给你一个结果数组,包括所有False和一个True表示匹配的行。然后将其与行号相乘,以将正确的行返回到INDEX公式。