自定义函数

CKSUM 系列 · 拓展求和

更新于 16 天前 · 阅读 108

CKSUM 系列 · 拓展求和


CKSUM 系列 · 拓展求和

【模块定位】CKSUM 是一个用于拓展求和的函数族,含 4 个变体。它解决的是同一个问题:表格后续插入行或列时,求和区域要不要自动跟着扩。
功能路径:【报表管理】-【报表平台】- 工作表展示区(单元格公式栏输入)
界面类型:单元格级公式(函数名输入后按回车即可)
前置条件:① 已明确求和区域;② 已判断这张表后续会往哪个方向增行 / 增列。

它和 SUM 有什么不一样

CKSUM 系列与 Excel 的 SUM 在"求和"这件事上逻辑一致,差别只在插入行列后求和区域会不会自动跟随:

  • SUM:只有插在求和区域中间时才拓展;插在区域边界之外(例如合计行下面再加一行)就不会跟随,汇总数会漏。
  • CKSUM 系列:按各自的方向自动跟随,插行插列后不用手工改公式。

所以选哪个变体,取决于这张表后续会往哪个方向长。

图 1 CKSUM 系列 · 拓展求和的选型(同一张费用表里,行方向求和与列方向求和要选不同变体)

图 1 CKSUM 系列 · 拓展求和的选型(同一张费用表里,行方向求和与列方向求和要选不同变体)

公式怎么写

在单元格里输入 =函数名(求和区域),例如 =CKSUMROW(B11:B13):

  • 函数名决定方向 —— 这张表以后往哪个方向增行 / 增列,就选对应的变体;
  • 括号里的区域是要汇总的范围,可以在表上用鼠标框选(区域地址会自动填进括号),也可以手写,写法为 起始单元格:结束单元格(中间是英文冒号)。

回车生效。之后插入行 / 列时,区域会按所选变体自动跟随:

图 2 插入一行前后 —— 求和区域由 B11:B13 自动变为 B11:B14,新插入的空行被自动纳入;合计行下移,汇总结果不变

图 2 插入一行前后 —— 求和区域由 B11:B13 自动变为 B11:B14,新插入的空行被自动纳入;合计行下移,汇总结果不变

四个变体怎么选

变体会跟随的插入方向不会跟随
CKSUMROW上方插入行、下方插入行插入列
CKSUMCOL左侧插入列、右侧插入列插入行
CKSUMD仅下方插入行上方插入行、插入列
CKSUMR仅右侧插入列左侧插入列、插入行

场景示例

一张按月登记的费用表:「费用总计」按行求和、「月份合计」按列求和。

  • 如果之后还要继续往下加费用行,「费用总计」这一列就用 CKSUMROW 或 CKSUMD —— 新增的行会被自动算进合计。
  • 如果之后还要继续往右加月份列,「月份合计」这一行就用 CKSUMCOL 或 CKSUMR —— 新增的月份会被自动算进合计。

插入之后两处合计的求和区域都会自动跟着扩,不需要手工改公式。

使用要点

  • 先判断方向再选变体:只需要管一个方向的,用 CKSUMD / CKSUMR 更精确;两个方向都可能变的,用 CKSUMROW / CKSUMCOL。
  • 配合动态域使用效果最好:区域本身会随数据拓展时,用 CKSUM 系列可以保证汇总始终跟随。
  • 插入后先核对引用区域:若插行插列后汇总数字异常,优先检查公式的引用区域是否被正确拓展,而不是直接手改数字。


💬 评论(0)
还没有评论,来抢沙发~