你今天教我使用了“=INDIRECT("E"&1+(ROW()-2)*6)”函数,但是我还没吃透啊,请分解此公式,成分感谢!

如题所述

你好!
函数ROW()是指当前单元格所在的行数,比如公式在C2,则ROW()的值就为2;
函数INDIRECT(ref_text,A1)中ref_text参数为字符串,比如"B1",参数A1是指采用的单元格名称的命名方式,在excel中,单元格命名方式有两种,一种是类似于G5,G表示G列,5表示5行,在公示中默认或A1为1时,采用这种表示方式;还有一种是R5C7,R5表示5行,C7表示7列(即G列),你可以这样试一下:
1、在B1单元格中输入任一个值,如:“6699”;
2、然后在A1中输入:=INDIRECT("B1",1),A2中输入:=INDIRECT("B1"),计算结果应该一样,都是6699;
3、然后在A3中输入:=INDIRECT("R1C2",0),计算结果也应该一样,都是6699;
4、然后在A4中输入:=INDIRECT("R1C2"),计算结果错误为#REF!
也就是说,默认为B1格式,要制定为R1C2格式,A1参数必须为0。

上面的公式=INDIRECT("B1",1)就相当于=B1;

为了便于理解,可以再试一下:
1、在B1单元格中输入:C1,在C1单元格输入:“6699”;
2、然后在A1中输入:=INDIRECT(B1,1),A2中输入:=INDIRECT(B1),计算结果应该一样,都是6699
上面的公式=INDIRECT(B1,1)就相当于=C1

对于公式=INDIRECT("E"&1+(ROW()-2)*6),假如该公式在G2单元格;
ROW()-2=2-2=0,则上式变为:=INDIRECT("E"&1+0*6),也即:=INDIRECT("E"&1),也即:=INDIRECT("E1"),最后即为:=E1;
向下填充后,假如在G5单元格,则:
ROW()-2=5-2=3,则上式变为:=INDIRECT("E"&1+3*6),也即:=INDIRECT("E"&19),也即:=INDIRECT("E19"),最后即为:=E19。

希望对你有帮助!来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答