excel2003中如何使用sumproduct或offset,进行跨列求和?

2025-04-14 22:14:13
推荐回答(1个)
回答1:

根据你的工资表序号为连续自然数的特点,你自己编写的C7单元格的公式可修改如下:
C7=OFFSET(工资表!A$2,C$2,C$6*5+(ROW()-1)/2-6,)
可直接复制到C9、C11单元格中,这样当月的数据一个公式就可以了,且避免了原公式对A:BF多列多行的大范围内用vlookup来查寻,可以有效减少不必要的资源消耗。而本公式直接告诉Excel,从工资表的A2单元格开始,向下偏移C2单元格中数据所确定的行数,及向右偏移列数为C6单元格中的数字和当前行号进行简单计算结果,比起大面积的查寻来要快速高效得多。
同样C8、C10、C12也用一个公式即可:
C8=SUMPRODUCT(SUBTOTAL(9,OFFSET(工资表!A$2,C$2,ROW(INDIRECT("1:"&C$6))*5+ROW()/2-7,)))
复制到C10、C12中

根据题主的提问和工作表截图来看,题主对Excel的掌握还是比较深的,在单位也许是公认的高手了。再假以时日,并多学习,会更上一层楼的。

但对这个工资表提几点建议供参考:

  1. 第个月做一个工作表,再可通过多种方法:如PQ、数据透视表等进行一年(年中为元月到当前月份)的汇总。这样每个工作表的数据特点更明了。何况员工还会有变动的。

  2. 将个税累进税率和速算扣除数做一个独立的工作表附在工作簿中,每个员工每月的个税额可通过公式直接引用这个附表中的数据来进行计算。本人曾做一个3500起点的计算模板,网页链接 中有上传,可供参考。适当修改后就可用于工资表中。不知你现在这个计算表是怎么来用的。第个人每个月计算一次,再填写到工资表中?那手工的工作量太大了!