前言 在QQ群中讨论关于SUMIF问题时,见一个函数高手小猫老师使用了一种简化用法,即SUMIF的第三参数求和区域,只用区域的最左上角的单元格代替。下面我们用SUMIF的“错位”用法引出这个话题吧。 sumif的“错位”用法 这道题,就是用SUMIF的“错位”法解决的,下面我们分析一下这个公式: =SUMIF(A3:D12,'',A2:D11) 我们知道SUMIF是条件求和函数,第一参数是A3:D12,也就是条件区域,这里引用了数据区域往下移一行的区域,在这个区域中,查找第二参数,也就是空值。因为第三参数与第一参数比,向上错位了一行,所以找到每一列的第一个空值后,对这个空值的上一个单元格,也就是每列的最后一个数字进行了求和。 我们现在把公式改一下: 也就是说,第三参数可以简化成对求和区域的最左上角的引用。也就是文章开始提到的“小猫”老师的用法。 这是因为当第3参数与第1参数区域大小不同时,SUMIF函数会根据第1参数的范围进行智能的匹配。 我用VBA对100万行两列的数据做过试验,第三参数简化用法对SUMIF的运算速度基本没什么影响。但需要注意的是,由于求和区域不明确,容易引发公式的重新计算,产生与易失性函数相似的情况。因此当数据量较大时,需谨慎使用第3参数的简写方式。 后记 |
|