根据月份自动求和,这个最简单的Excel函数99%用户想不到!

文章来源于Excel精英培训

你好,我是瓜叔。
瓜叔在网上看到一位网友的求助:

如下图所示,要求根据选取的月份求1~n月份的和。
如:
  • 选1月份只求1月份的和

  • 选2月份求1~2月份的和

  • 选5月求1~5月份的和

    .........

对于这种动态区域求和,一般要借用offset函数。
(但它并不是今天的主角,那个神奇的函数)
offset函数可以生成动态区域,它的语法为:
offset(单元格,行偏移数,列偏移数,总行数,总列数)
本题要求和的区域是:
根据C2的月份数生成以D列为起始的N列区域。
如C2是3月,那么求和的区域就是D:F列。
所以这儿只需要计算出总列数,其他参数可以省略(但要保留逗号)即:
offset(d3,,,,总列数)
所以接下来我们根据C3的值计算出总列数。99%的人都会想到用match函数,即:
=MATCH($C$2,D$2:O$2,0)
也许你还会想到用left函数截取,但很快就会否定这个函数,因为如果月份是1~9月可以用=left(月份,1)截取,但如果是10~12月份结果全是1了。
那....看来只能用match函数了......嘿嘿,该今天的主角上场了,它就是left的兄弟函数:LeftB
在Excel函数库中,最后带b的函数都是根据字节数计算的(1个汉字的字节数是2,数字和字母是1),如:
10月总字符数是3,但总字节数(lenb)是4
利用这个特点,我们用leftb(月份,2)就可以轻松提取月前的数字了。
今天问题的最简公式也出来了:
=SUM(OFFSET(D3,,,,LEFTB(C$2,2)))
不得不说,今天的lleftb函数用的确实妙极了,以后遇到提取月份数字时,就可以用它简化你的公式了。

文 | 兰色幻想-赵志东

文章来源于公众号:Excel精英培训。

(0)

相关推荐