You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨多工作表Excel公式拖拽适配:按人员批量求和

解决方案:动态跨表求和人员数据

问题回顾

工作簿按月份分工作表,每个工作表内人员数据按「姓名+4行周数据」重复排列,需要制作汇总表,每行自动求和对应人员在所有工作表的全部周数据,拖拽公式时要跳过固定行数切换到下一位人员,而非逐行偏移。


方法1:固定行间隔偏移(适合人员数据行数固定的场景)

如果每个人员的周数据固定为4行(1行姓名+3行后续周数据),可以用OFFSET或INDEX动态计算求和范围:

用OFFSET实现

假设汇总表的求和公式从第2行开始(A2为Person A),B2单元格公式:

=SUM(OFFSET(Sheet1:Sheet12!$C$1,(ROW()-2)*4,0,4,1))
  • (ROW()-2)*4:计算偏移行数,第2行时偏移0行(取C1:C4),第3行时偏移4行(取C5:C8),以此类推
  • 4,1:指定取4行1列的范围
  • 拖拽公式时,ROW()会自动更新,实现每次跳4行求和下一位人员的数据

用INDEX实现(更稳定,避免OFFSET的易失性)

同样从B2开始:

=SUM(Sheet1:Sheet12!C:INDEX(Sheet1:Sheet12!C:C,1+(ROW()-2)*4):INDEX(Sheet1:Sheet12!C:C,4+(ROW()-2)*4))
  • 两个INDEX分别定位求和范围的起始行和结束行,逻辑和OFFSET一致,但非易失性,不会因工作表变动自动重算

方法2:按姓名匹配求和(更灵活,适合行间隔不固定的场景)

如果人员的周数据行数可能变化(比如某月份有5周),用姓名匹配的方式更可靠,不需要依赖固定行间隔:

假设汇总表A列是人员姓名(A2=Person A,A3=Person B),B2单元格公式:

=SUMPRODUCT(SUMIF(INDIRECT("'"&Sheet1:Sheet12&"'!A:A"),A2,INDIRECT("'"&Sheet1:Sheet12&"'!C:C")))
  • SUMIF(INDIRECT(...),A2,...):在单个工作表中匹配A2的姓名,求和对应C列数值
  • SUMPRODUCT:将所有工作表的求和结果汇总
  • 拖拽公式时,A列姓名自动切换,公式会自动匹配对应人员的所有数据,不管其占多少行

内容的提问来源于stack exchange,提问作者dataguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:10:19