问题:
在生活中碰到一个问题,有一组数字,想知道其中任意区间数量(1个、2个、N个...)的数字相加并得出结果。
解决思路:
一开始想30个数字,自己动手算一下就好了,但实际实施时发现400+的结果,在网上也没有找到合适的解决方案,不过在手动罗列结果时有了灵感, 利用EXCEL表格来将结果列出。
我们先将数据纵向填在表格中,叫做数据列,
在数据列右侧单元格中利用OFFSET来得到数组中的其中一部分(其中一个结果),
OFFSET($W$63,0,0,ROW(W63)-62)
我们利用ROW来获取当前行号,根据行号的变化来扩大OFFSET的引用区域,ROW(W63)-62 这个减62是因为我的数据在W63单元格,数据的起点是W63,所以要纠正数据高度。
利用OFFSET 引用数据列第一个内容为起始点,偏移行和列都为0,高度即ROW(W63)-62的返回值,宽度不需要。回车结束,因为返回来的是多个单元格的数值,我们可以直接用SUM来求出他 的和。
完整公式:
=SUM(OFFSET($W$63,0,0,ROW(W63)-62))
我们向下填充得到结果列1的数据,结果列1是第一个数和任意区间数值的和。
结果列2是从第二个数字开始往下求和(改变OFFSET的参考起点,将row的返回值重新纠正),后面以此类推。
该方法不一定适用大多数人的需求,只记录解决办法的思路。