Google Sheets中实现每行重复n次且在重复组间插入n个空行
Google Sheets 每行重复N次并在组间插入空行解决方案
你可以直接使用以下单数组公式实现需求,无需辅助列或脚本:
=ArrayFormula( LET( // 自定义参数区,可根据实际需求修改 source_range, A:A, // 原始数据所在列/范围 repeat_count, 5, // 每行需要重复的次数 gap_line_count, 2, // 两组重复数据之间的空行数量 // 逻辑处理区,无需修改 valid_data, FILTER(source_range, source_range <> ""), total_data_num, COUNTA(valid_data), total_output_rows, total_data_num * (repeat_count + gap_line_count) - gap_line_count, seq, SEQUENCE(total_output_rows), group_index, INT((seq - 1) / (repeat_count + gap_line_count)) + 1, position_in_group, MOD(seq - 1, repeat_count + gap_line_count) + 1, IF(position_in_group <= repeat_count, INDEX(valid_data, group_index), "") ) )
使用说明
- 仅需要修改自定义参数区的三个变量即可适配你的场景:
source_range:替换为你的原始数据所在范围,比如示例场景中可填A1:A4repeat_count:替换为你需要的每行重复次数,示例场景填5gap_line_count:替换为你需要的组间空行数量,示例场景填2
- 公式会自动忽略最后一组数据后的空行,符合示例中Ball重复完成后直接接分隔线的要求
低版本兼容方案
如果你的Google Sheets版本不支持LET函数,可以使用下方无依赖版本,直接修改公式内的对应参数即可:
=ArrayFormula( IF( MOD(SEQUENCE(COUNTA(A1:A4)*(5+2)-2)-1,5+2)+1 <=5, INDEX(A1:A4,INT((SEQUENCE(COUNTA(A1:A4)*(5+2)-2)-1)/(5+2))+1), "" ) )
公式中A1:A4为原始数据范围,5为重复次数,2为组间空行数量,可按需调整。
内容的提问来源于stack exchange,提问作者Bam
相关产品推荐
相关产品推荐

