作业帮 > 综合 > 作业

EXCEL 请教INDIRECT函数!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 02:07:56
EXCEL 请教INDIRECT函数!
这公式是求一列中最后20行的和值,=SUM(INDIRECT("r[-20]c:r[-1]c",0)),indirect函数我也会一点,"r[-20]c:r[-1]c,0" 这部份是怎样运算的,这部份会自动根据当前列返回20行的区域,如把公式放在A列,则自动返回$A$1:$A$20,放在B列则返回$B$1:$B$20,不明白为什么能这样.
=SUM(INDIRECT("r"&IF(COUNTA(A:A)=0,1,COUNTA(A:A))&"c"&COLUMN(A1)&":r"&IF(COUNTA(A:A)-19
学习了!
我的理解是:
"r[-20]c:r[-1]c,0"中的0表示引用式样为R1C1;
比如:=INDIRECT("R1C1",0)表示引用A1单元格.
不难理解,INDIRECT("RC",0)表示本单元格,
"r[-20]c:r[-1]c,0"表示表示本单元格的行标减20至本单元格的行标减1这个区域.
再问: 再请教一下,要是在不足20行的情况下用这公式会报措,该如何修改一下?能不能加个判断,在不足20行时,如果只有18行,它也能自动计算,请不要说是每次行数有变动都要自己手动去修改公式中的那个行数啊。,那样累啊!谢谢!
再答: =SUM(OFFSET(A1,0,0,ROW()-1,1)),你用这个公式会比你那个更简单,你那个公式是很难达到那种效果的,这个里面的A1是引用的单元格,如果你不需要从第一行开始计算的话,就改第一个0为ROW()-X.X=你需要开始计算的行号
再问: =SUM(INDIRECT("r"&IF(COUNTA(A:A)=0,1,COUNTA(A:A))&"c"&COLUMN(A1)&":r"&IF(COUNTA(A:A)-19