excel中如何将单元格中的数值引用到公式中作为行号?

我有两组数据
A B C
1 20090701 2.4935
2 20090702 2.8773
3 20090703 2.8676
4 20090706 2.9336
5 20090707 2.7215
...

D
1
3
4
6
D列中的数值对应的是C中数据的行号,现在要在E列中对一系列C的值求和。比如对于D1来说,求C1到C5的和,此处1为D1的值,5-1=4固定;对D2来说,求C3到C7的和;对D3来说,求C4到C8的和。
不知要怎么解决这个问题?疑惑很久了,求高人解答!

E1公式:

=SUM(OFFSET(C$1,D1-1,,5))

公式下拉,结果如下图:

公式解析:

OFFSET(C$1,D1-1,,5):返回C1单元格向下偏移D1-1行,0列,共5行的区域,D1是1,则D1-1=0,表示C1偏移0行0列共5行的区域,既C1:C5,外面嵌套SUM函数求和。

公式下拉到E2时,则D2是3,D2-1就是2,则C1向下偏移2行0列就C3,共5行的区域,就是C3:C7,则对C3:C7求和。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-02

这里核心公式是:

INDIRECT()公式返回指定地址对应单元格的内容;

ROW()公式返回单元格所在行号;

同时用到符号:

:符号用于连接表示单元格区域;

& 符号用于文本字符串的连接;

综合公式可写为:=SUM((INDIRECT("C"&ROW()&":C"&ROW()+4)))

(若需扩展,列号"C"可用column()公式通过减一个差额常数来实现)

如图:

第2个回答  2013-05-22
E1输入以下公式
=sum(indirect("C"&D1&":C"&D1+4))
下拖填充即可本回答被提问者采纳
第3个回答  2013-05-22
公式一 =SUM(INDIRECT("C"&D1&":C"&D1+4)) 公式二 =SUM(OFFSET(C$1,D1-1,,D1+4)) 下拉复制公式
第4个回答  2013-05-22
在E1中输入或复制粘贴此公式
=SUM(INDIRECT("C"&D1&":C"&D1+4))
下拉填充
相似回答