公式为:
=OFFSET(B$1,ROW(A1)*21-1,0)
OFFSET是偏移函数,意思是以B1单元格为参照位置、偏移几行、几列。
ROW是提取行号的函数,在纵向填充公式时,可以用来提取动态变化的数字。
ROW()括号内无参数时,提取公式所在行的当前行号。
ROW(A1)括号内有参数时,提取指定的单元格的行号,所以跟列号无关,你填A1/B1/C1/XDL1结果都一样,提到结果为1
ROW(1:1)这样写也行,指提取第1行的行号。
=OFFSET(B$1,ROW(A1)*21-1,0)是指以B1为基准偏移20行0列。
当公式下拉一行填充时变成了:
=OFFSET(B$1,ROW(A2)*21-1,0)是指以B1为基准偏移41行0列。
当公式再下拉一行填充时变成了:
=OFFSET(B$1,ROW(A3)*21-1,0)是指以B1为基准偏移62行0列。
可能你又要问,为什么B1没变,A1变成了A2、A3,这是因为我在B1上加了个锁头,把1锁住了。$是绝对引用符,B$1表示:相对引用B绝对引用1。
B$1在纵向填充时,1是不会变的,但如果是横向填充的话,B是会变的。
假如是$B$1的话,无话是纵向还是横向填充,列号行号就都被锁住了。
【【【另外,跨表问题,应该加上表名】】】:
假设是跨表从Sheet1中调用数据,应这样写:
=OFFSET(Sheet1!B$1,ROW(A1)*21-1,0)
如果表名是以数字开头的话,还应再加一对单引号:
假设是跨表从1biao中调用数据,应这样写:
=OFFSET('1biao'!B$1,ROW(A1)*21-1,0)
温馨提示:答案为网友推荐,仅供参考