作业帮 > 综合 > 作业

一个公式中VLOOKUP、IF、 COLUMN函数问题

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/13 03:46:16
一个公式中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)=COLUMN($A$2:$A$6),公式计算出来的数值都等于1,所以也就是说明两者是相等的;
2、因此 IF(COLUMN($A$2:$B$6)=COLUMN($A$2:$A$6),$A$2:$A$6&"x"&$B$2:$B$6,$C$2:$C$6),应该返回的是 $A$2:$A$6&"x"&$B$2:$B$6的值,而不是
$C$2:$C$6的值;

3、因此Vlookup( $E3&"x"&$F3,if函数结果( $A$2:$A$6&"x"&$B$2:$B$6
),2 ,0),应该返回的是第2列是不存在 的,因为If的结果是将AB列合并来着.要返回也是返回B列结果.
以上是我理解,不知道那个地方出现差错,
一个公式中VLOOKUP、IF、 COLUMN函数问题
这是一个数组公式,不过写的不太简明.
这个公式的常型应该是:
=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还原引用.
这样可能好理解一点.