|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 孤独行星双星记 于 2011-12-29 07:48 编辑
我对公式不怎么会写这样的大公式,通过查询,对于老师的这个公式:=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$12)&"月份"&"!b:b"),$B4,INDIRECT(ROW($1:$12)&"月份"&"!c",))),我试着来解释一下,看看是否正确,不正确之处,请老师指正。
(INDIRECT(ROW($1:$12)&"月份"&"!b:b")这一部分,是说的对于1-12月份的B列设定为求和区域(sumif);
$B4这个是求和条件,就是对于求和区域内的B列中单元格中与求各区域内值相等的才求和(sumif);
INDIRECT(ROW($1:$12)&"月份"&"!c",))这一部分,是实际的求和区域,就对对月1-12月份中符合求和条件的实际求和区域,采用的是R1C1引用格式,由于最后的C后省略,所以本公式放在哪一列,实际上就是对实际求和区域的该列(也就是当前列,公式放在F列,则求和区域也是相应工作表的F列)符合条件的单元格进行求和(sumif),。
SUMIF(INDIRECT(ROW($1:$12)&"月份"&"!b:b"),$B5,INDIRECT(ROW($1:$12)&"月份"&"!c",))这个整体来考虑,返回值是在这12个月份查询到的值的一个数组,所以要再使用sumproduct函数进行求和,或者使用SUM函数按三联键设置为数组公式也可以,是不是这样呢?
|
|