如何在Google Sheets中用偏移量跳过空行并合并重复数据行?
合并Google Sheets中每3行重复偏移数据的解决方案
针对你每3行重复、需要合并成一行的需求,给你两个实用的Google Sheets公式,比QUERY更适配这种场景:
方法一:简洁的OFFSET+BYROW批量处理
假设原始数据从A1单元格开始,在空白单元格输入:
=BYROW(SEQUENCE(ROUNDUP(COUNTA(A:A)/3),1,0,3), LAMBDA(x, TEXTJOIN(" ", TRUE, OFFSET(A1+x,0,0,3,1))&" "& TEXTJOIN(" ", TRUE, OFFSET(B1+x,0,0,3,1))&" "& TEXTJOIN(" ", TRUE, OFFSET(C1+x,0,0,3,1)) ))
如果需要调整列之间的分隔符,直接修改TEXTJOIN后的拼接符号即可(比如换成|或者直接连在一起)。
方法二:用QUERY转置合并
适合喜欢用QUERY函数的场景,输入:
=ARRAYFORMULA(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(OFFSET(A1,SEQUENCE(ROUNDUP(COUNTA(A:A)/3)*3,1,0,1,3)),"select "&TEXTJOIN(",",TRUE,"Col"&SEQUENCE(3,1,1,3))&"")),,9^9)))
核心逻辑说明
- SEQUENCE函数:生成每3行的起始偏移量(0,3,6...),用来定位每组数据的开头。
- OFFSET函数:从指定偏移位置开始,提取3行对应列的内容。
- TEXTJOIN/QUERY:将提取的多行内容合并成单个字符串,最终按列拼接成一行完整数据。
如果你的数据包含表头,记得把公式里的A1、B1、C1改成A2、B2、C2,同时将COUNTA(A:A)替换为COUNTA(A:A)-1,避免表头被计算进去。
内容的提问来源于stack exchange,提问作者Medik
相关产品推荐
相关产品推荐

