嗨,任何人都可以解释以下内容
=INDEX(Sheet2!$B$2:$B$1214,MATCH(1,(Sheet2!$A$2:$A$1214=B2)*(Sheet2!$F$2:$F$1214=O2),0))
我试图通过查看 Index with Match 函数来理解这一点。
Match(1,-------
为什么 Match() 函数的第一个参数是 1?
嗨,任何人都可以解释以下内容
=INDEX(Sheet2!$B$2:$B$1214,MATCH(1,(Sheet2!$A$2:$A$1214=B2)*(Sheet2!$F$2:$F$1214=O2),0))
我试图通过查看 Index with Match 函数来理解这一点。
Match(1,-------
为什么 Match() 函数的第一个参数是 1?
让我们看一下从内部组件开始的公式MATCH
。为此,我假设这是一个数组公式。
作为一个数组公式,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
然后在同一行的equals和equals处找到MATCH(1, ...)
第一行。r
Sheet2
B2
Sheet2!$A$r
O2
Sheet2!$F$r
r
最后,INDEX
为您Sheet2!$B$2:$B$1214
提供该行的值r
。
看起来您的问题出在 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" = {假,真,假,假,假}
"$C$1:$C$5 = $A$2" = {假,真,假,假,假}
然后我们这样做..
($B$1:$B$5 = $A$1) * ($C$1:$C$5 = $A$2)
它将在我们上面得到的每个结果中从相同位置获取 1 个数据,将其相乘并返回结果。
“{假,真,假,假,假} * {假,真,假,假,假}”
= {0, 1, 0, 0, 0}
所以 MATCH 函数的输入如下..
MATCH(1, {0, 1, 0, 0, 0}, 0)
这个等式的意思是它将尝试在数组中查找值“1”,并返回匹配的第一个值的位置。
在我们的例子中,它将返回 2。
然后这个“2”作为 row_num 传递给 INDEX 函数。
其余的你可以自己解释。