解释= INDEX(Sheet2!$ B $ 2:$ B $ 1214,MATCH(1,(Sheet2!$ A $ 2:$ A $ 1214 = B2)*(Sheet2!$ F $ 2:$ F $ 1214 = O2),0))

时间:2013-05-02 06:22:56

标签: excel

您可以请任何人解释以下内容

=INDEX(Sheet2!$B$2:$B$1214,MATCH(1,(Sheet2!$A$2:$A$1214=B2)*(Sheet2!$F$2:$F$1214=O2),0))

我试图通过查看带匹配函数的索引来理解这一点。

Match(1,-------

为什么第一个参数1用于Match()函数?

2 个答案:

答案 0 :(得分:2)

让我们看看从内部MATCH的组件开始的公式。为此我假设这是一个array formula

作为数组公式,Sheet2!$A$2:$A$1214=B2会提供TRUEFALSE的向量,具体取决于Sheet2!$A$2:$A$1214中的值是否等于B2。同样,Sheet2!$F$2:$F$1214=O2会提供TRUEFALSE的向量,具体取决于Sheet2!$F$2:$F$1214中的值是否等于O2

现在,(Sheet2!$A$2:$A$1214=B2)*(Sheet2!$F$2:$F$1214=O2)逐行增加TRUEFALSE两个向量。从TRUE*TRUE=1开始,FALSE*TRUE=TRUE*FALSE=FALSE*FALSE=0,这会得到10的向量,具体取决于B2等于Sheet2!$A$rO2等于同一行的Sheet2!$F$r r

MATCH(1, ...)然后找到r上的第一行Sheet2,其中B2等于Sheet2!$A$rO2等于Sheet2!$F$r 表示同一行 r

最后,INDEX为此行Sheet2!$B$2:$B$1214提供r的值。

答案 1 :(得分:1)

看起来您的问题与MATCH功能有关,所以我将对此进行解释。 我们首先假设我们在excel中有一些数据如下所示。

  

$ A $ 1 = 2; $ A $ 2 = 7

     

$ B $ 1:$ B $ 5 = {1,2,3,4,5}

     

$ C $ 1:$ C $ 5 = {6,7,8,9,0}

现在,我们尝试解决以下等式:

  

$ B $ 1:$ B $ 5 = $ A $ 1

     

$ C $ 1:$ C $ 5 = $ A $ 2

excel的作用是花费$ A $ 1并将其与$ B $ 1,$ B $ 2进行比较,依此类推。结果将返回如下:

  

“$ B $ 1:$ B $ 5 = $ A $ 1”= {FALSE,TRUE,FALSE,FALSE,FALSE}

     

“$ C $ 1:$ C $ 5 = $ A $ 2”= {FALSE,TRUE,FALSE,FALSE,FALSE}

然后我们这样做..

  <$>($ B $ 1:$ B $ 5 = $ A $ 1)*($ C $ 1:$ C $ 5 = $ A $ 2)

在我们上面得到的每个结果中,它将从同一位置获取1个数据,将其相乘并返回结果。

  

“{FALSE,TRUE,FALSE,FALSE,FALSE} * {FALSE,TRUE,FALSE,FALSE,FALSE}”

     

= {0,1,0,0,0}

所以MATCH函数的输入如下:

  

MATCH(1,{0,1,0,0,0},0)

这个等式意味着它将尝试在数组中查找值“1”,并返回匹配的 FIRST 值的位置。

在我们的情况下,它将返回2.

然后将这个“2”作为row_num传递给INDEX函数..

你可以自己解释一下。