excel中单元格引用数值递增a1=b21,a2=b42,a3=b63 公差为21,以此累推的公式?

如题所述

公式为:
=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)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-24
如果是想用公式得到1,2,3,4,...这样的顺序
方法一
比如在A1单元格写入1
在A2单元格写入公式
=A1+1
下拉填充公式
方法二
在单元格写入公式
=ROW(A1)
下拉填充公式
如果是在右拉填充,则公式改成
=COLUMN(A1)
第2个回答  2021-12-24
a1=index(b:b,row(a1)*21)下拉追问

这个公式汇总表一里可以,到了汇总表二里引用不到数值,是什么原因?

追答

你要引用哪列数据

追问

是另外一张表里的数值引用过来

追答

文件发[email protected]帮你看下

追问

一个工作簿里二张表,上面A表引用下面B表里的数据,A表里有几张表,用公式引用到汇总表一里可以,引用到汇总表二里公式就不能用了

追答

文件发[email protected]

本回答被提问者采纳
第3个回答  2021-12-24
=INDIRECT("B"&ROW()*21),希望能帮到你追问

ROW()这个括号里是什么?表一里用这公式可以,到表二里就不行了,是什么原因?

追答

ROW()不填东西代表你引用的当前行数,可以指代A1

追问

到汇总表二里公式就引用不到数值,是什么原因?

相似回答