回答网友提问,这位同学可能是个初学者,写了一大堆文字,但描述不够精准,也没有提供效果模拟,所以折腾了很久才明白他的意思,所以大家求助的话首先要学会如何提问。题外话,言归正传。
这位同学有一个每日需要更新的数据表,按照公司要求,每天的数据添加在序列末,也就是日期从小到大递增排列,而表格最下方是设置了计算公式的,一旦新增行,计算区域要重新拖动,否则新的行不在计算范围内。
这个操作吧,既然天天要做,就不能一直靠手工,容易忘记和出错,所以要帮他稍微优化一下公式。
案例:下图 1 的数据表是一个顺序序列,每天都会需要在最下方新增日期,并更新当天的数字。
那么问题来了,新增行以后,公式能不能自动把新的行计算进来呢?效果如下图 2 所示。
解决方案:1. 在 B13 单元格中输入以下公式:
=INDEX(B:B,ROW()-1)
公式释义:
index 函数的作用是返回区域中的值;
语法为 INDEX(查找区域, 第几行, [第几列]);
这里的公式表示从 B 列中提取出当前行的上一行 ROW()-1
2. 在 B14 单元格中输入以下公式:
=SUM($B$2:INDEX(B:B,ROW()-2))
公式释义:
学会了上一个公式,这里就比较好理解了,sum 函数的起始区域固定在 B2 单元格,而截止区域始终是当前行的上两行
* 这里需要注意的是,要将 B2 单元格设置为绝对引用。
现在就实现了需求,无论插入多少新的行,都不需要手工调整公式区域,结果会自动更新。
没有啥是过气的,用的好,能完成任务就行。