excel,提取固定行,间隔固定列提取数据如果写函数?

前面步骤的计算过程较多,导致表格列数多了。最后取结果时,我想固定行,间隔固定列数提取数据,将这些数据填充到某一空白列中。固定取第30行,从TH列,TM列,TR列。。相互之间间隔4列,一共依次20多列,提取数据,然后写到某一空白列,请问如何写函数啊?谢谢!是用index还是offset什么之类的。

例如,sheet1的A列放sheet2的TH列,只消在sheet1的A1输入=sheet2!TH1,然后向下拖拽公式即可。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-19
=OFFSET(TC$30,,ROW(A1)*5)

向下拉追问

你好,我试了一下你的方法,是对的。但是我不知道,怎么理解。我理解是,从TH30往左移动了5格作为参考位置,然后依次往右每隔5列取一个数据,(1)$30是不是指绝对引用行的意思,(2)Row(A1)*5是什么意思,为什么要A1格?谢谢

追答

1, $30是绝对引用行的意思。因为要向下拉,offet的参照行号必须固定。
2,row(a1)等同于row(1:1),计算结果是1。向下拉一格则是row(A2)或者row(2:2),计算结果是2。
所以这部分意思是借助row()函数相对引用在向下拉时的变化自动形成1,2,3,4……的序列,然后乘以5,得到5,10,15,20……这个序列,然后从TC30开始依次往右按这个列数来取数据。

追问

请问写row(b1)是否也对?

追答

第2个回答  推荐于2020-03-20
=INDEX($30:$30,523+ROW(A1)*5) 下拉追问

你好,我试了一下你的方法,是对的。但是我不知道,怎么理解。$30:$30
是什么意思,523+ROW(A1)*5是什么意思,523是怎么得来的,ROW(A1)*5呢,为什么要用Row(A1),谢谢!

追答

$30:$30就是第30行的所有列的数组。

523+ROW(A1)*5,因为TH列是在第528列,row(a1)就是返回a1单元格所在的行数,你下拉的时候就变成了Row(a2),一直下拉就产生了1、2、3……

你就可以理解当你下拉时:公式为523+1*5、523+2*5、523+3*5……
你也可以用上面ougouw 老兄的公式

追问

你好,往下拉确实是Row(a1),Row(a2).......依次变化。但还是不太理解,和a1,a2...单元格有什么关系呢? 我是填写在空白的YV列的,表格比较大,YV列很靠右边。谢谢!

追答

建议你去看看excel帮助。
row(a1)、row(a2)……这里的A1和A2……跟A1和A2里面的内容没有关系。只是借助A1和A2……所在的位置然后用row返回行号(column是返回列号,说白了就是单元格的坐标位置)。
比如:A1单元格是在整个表格的第一行。row(a1)=1

A2单元格是在整个表格的第二行。row(a2)=2 …………
也可以用B1、B2…… C1、C2……

本回答被提问者采纳
相似回答