简单理解,从A5开始走格,第二个参数没有,说明不竖着走,第三个参数是MATCH(1=0,$A$4:$Z$4<>"",)-COLUMN(B2)-1)。
其中:
1=0的意思是FALSE。
$A$4:$Z$4<>""的意思是,从A4开始到Z4,依次看哪个单元格是空的,如果不是空的,返回值为TRUE,如果是空的,返回值为FALSE。一直到找到空的位置,返回FALSE,这样就和1=0得到的FALSE对应上了,然后看是第几个单元格,MATCH就返回几,比如第5个单元格是空的,就返回5。因为整个公式外面有个{ },所以这是个数组函数,其中$A$4:$Z$4<>""就用到了数组函数的功能,他返回的值会是{TURE,TRUE,TRUE,TRUE,FALSE,FALSE,……}。
最后COLUMN(B2)-1的意思是判断B2单元格是在第几列,明显是在第二列,所以2-1得1。
然后再被MATCH的得数减,得4。也就是说从A5开始横着往右走4格。OFFSET的公式本来后面应该还有两个参数的,但是这个函数中没写,也就不去管了。
最终答案是取到E5单元格中的数。
最后还得多说两句,这个公式的得数取决于两点,一个是A4到Z4这个范围内第一个空单元格是哪个,另一个是这个公式是写在哪个单元格的,因为一开始的A5把列锁定了,证明写在第5行和写在第6行是有区别的,写在第六行可能这块就应该是A6了,还有B2也没有锁定,证明如果公式写在第三列,这里可能就是C2了。具体情况具体分析,你再看看吧。
EXCEL的公式都是采用嵌套方式实现的,你可以尝试双击公式单元格,在出现编辑界面时分别点击函数的各参数即可清晰明白各部分作用。
比如你的公式,实际主要有2个公式:
1个是OFFSET函数,是主要函数;
2是 match 函数,是上面函数的参数 (MATCH(1=0,$A$4:$Z$4<>"",)-COLUMN(B2)-1 这部分是取列标的作用)
3是column 函数,基本是打酱油的,主要是起到控制拖动后效果的作用,在本公式中COLUMN(B2) 就相当于数值 2 。
简单的说下:
从A5开始向右偏移
偏移的个数由 MATCH(1=0,$A$4:$Z$4<>"",)-COLUMN(B2)-1确定
MATCH(1=0,$A$4:$Z$4<>"",),计算出A4:Z4空白单元格个数,减去B2的列号(也就是2),再减去1,得到最后的数字。比如是3
就是从A5开始向右偏移3列后的数据,
有错误的,请指正。