您可以请任何人解释以下内容
=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()函数?
答案 0 :(得分:2)
让我们看看从内部MATCH
的组件开始的公式。为此我假设这是一个array formula。
作为数组公式,Sheet2!$A$2:$A$1214=B2
会提供TRUE
和FALSE
的向量,具体取决于Sheet2!$A$2:$A$1214
中的值是否等于B2
。同样,Sheet2!$F$2:$F$1214=O2
会提供TRUE
和FALSE
的向量,具体取决于Sheet2!$F$2:$F$1214
中的值是否等于O2
。
现在,(Sheet2!$A$2:$A$1214=B2)*(Sheet2!$F$2:$F$1214=O2)
逐行增加TRUE
和FALSE
两个向量。从TRUE*TRUE=1
开始,FALSE*TRUE=TRUE*FALSE=FALSE*FALSE=0
,这会得到1
和0
的向量,具体取决于B2
等于Sheet2!$A$r
和O2
等于同一行的Sheet2!$F$r
r
。
MATCH(1, ...)
然后找到r
上的第一行Sheet2
,其中B2
等于Sheet2!$A$r
而O2
等于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函数..
你可以自己解释一下。