一个公式中VLOOKUP、IF、 COLUMN函数问题公式为=VLOOKUP($E3&&qu

发布时间:2021-02-25 07:52:23

一个公式中VLOOKUP、IF、 COLUMN函数问题公式为=VLOOKUP($E3&"x"&$F3,IF(COLUMN($A$2:$B$6)=COLUMN($A$2:$A$6),$A$2:$A$6&"x"&$B$2:$B$6,$C$2:$C$6),2,0)我是如此理解公式的:1、 COLUMN($A$2:$B$6)

网友回答

这是一个数组公式,不过写的不太简明.
这个公式的常型应该是:
=VLOOKUP($E3&x&$F3,IF({TRUE,FALSE},$A$2:$A$6&x&$B$2:$B$6,$C$2:$C$6),2,0)
=VLOOKUP($E3&x&$F3,IF({1,0},$A$2:$A$6&x&$B$2:$B$6,$C$2:$C$6),2,0)
通过{TRUE,FALSE}这个数组作为判断条件,那么得到的结果就变成了两列——TRUE对应$A$2:$A$6&x&$B$2:$B$6,FALSE对应$C$2:$C$6.
这个的确有点不容易理解,他是数组的运算.{TRUE,FALSE}中间不是逗号,这个表示数组是按列展开(两列数组).如果是{TRUE;FALSE}那就是两行的数组.
COLUMN($A$2:$B$6)=COLUMN($A$2:$A$6)并不是完全相等的,前一段分别取AB列的列号,所以这一段变成{1,2}={1},进一步得到{TRUE,FALSE},那么和上面的常型又一样了.所以说,COLUMN($A$2:$B$6)=COLUMN($A$2:$A$6)的目的就是造出{TRUE,FALSE}或者({1,0}这个条件,有点多余.
如果这样还是不好理解,那就换一个公式:
=INDEX($C$2:$C$6,MATCH(E2&x&F2,$A$2:$A$6&x&$B$2:$B$6,0))
ctrl+shift+enter这也是一个数组公式.
将E2&F2炼成一个单元,$A$2:$A$6&$B$2:$B$6也连成一列,用match函数查询E2&F2在$A$2:$A$6&$B$2:$B$6的相对位置(行号),再用index在$C$2:$C$6还原引用.
这样可能好理解一点.
以上问题属网友观点,不代表本站立场,仅供参考!