Google Sheets如何按各行不同N值重复对应单元格内容
Google Sheets 按行自定义次数重复文本方案
适用场景
针对B列每行文本,匹配同一行C列标注的重复次数N,将所有文本按对应次数重复后纵向排列为单列,解决原有公式固定使用单一重复次数、无法适配每行独立N值的问题。
可直接复用的公式
在目标单元格输入以下数组公式即可自动计算全量结果,无需手动下拉填充:
=ARRAYFORMULA(TOCOL(FLATTEN(IF(SEQUENCE(MAX(C3:C1000))<=TOROW(C3:C1000),TOROW(B3:B1000),)),1))
公式逻辑拆解
- 用
MAX(C3:C1000)提取所有待重复条目的最大次数值,生成该长度的纵向连续序列,作为重复计数的判断基准 - 通过
TOROW(C3:C1000)将C列每行的重复次数转为横向数组,和纵向序列做逐格判断:当序列序号小于等于对应行的N值时,返回同一行B列的文本,否则返回空值 - 用
FLATTEN将二维计算结果按列拍平为单列,再通过TOCOL(...,1)参数过滤所有空单元格,最终得到按顺序排列、每个文本匹配对应重复次数的结果列
低版本表格不支持
TOROW函数时,可替换为TRANSPOSE实现相同效果,公式如下:=ARRAYFORMULA(TOCOL(FLATTEN(IF(SEQUENCE(MAX(C3:C1000))<=TRANSPOSE(C3:C1000),TRANSPOSE(B3:B1000),)),1))
内容的提问来源于stack exchange,提问作者Jun Jie Ong
相关产品推荐
相关产品推荐

