如何用OFFSET结合ROW函数提取Excel指定间隔行数据?
解决方法
核心逻辑
你不用再靠ROW(A1)*n-1计算偏移量,因为汇总表已经有了明确的目标行号(8、44、80这类),直接用这些行号去引用数据就行,比固定间隔的公式靠谱多了。
具体公式
先明确几个前提:
- 原始数据在名为「评分表」的工作表里
- 汇总表的某列(比如A列)已经填好了目标行号(A1=8、A2=44、A3=80...)
- 评分表中「Identification」是第一列(也就是A列)
方法1:用INDEX函数(推荐,稳定性更强)
=INDEX(评分表!A:A, A1)
把这个公式输入到汇总表的目标单元格,下拉填充就能依次提取对应行的Identification数据。
方法2:用OFFSET函数
=OFFSET(评分表!$A$1, A1-1, 0)
评分表!$A$1是评分表第一列的起始单元格A1-1是偏移行数:因为Excel行号从1开始,OFFSET的偏移量是从起始单元格往下数的行数,所以要减1才能对应到目标行。
为啥之前的公式不管用?
你之前用的OFFSET($B$5,ROW(A1)*n-1,0)是按固定间隔n行提取的逻辑,但你的目标行间隔是36(44-8=36),如果起始点是B5,那ROW(A1)*36-1=35,B5往下35行是B40,根本不是你要的B8——问题出在你的起始参考点和目标行的逻辑不匹配,而且你本来就有现成的行号,完全没必要再去算间隔。
内容的提问来源于stack exchange,提问作者Alan Nielsen
相关产品推荐
相关产品推荐

