Google Sheets中使用Arrayformula实现按指定次数重复内容方案咨询
Google Sheets 按指定次数重复文本实现方法
你可以通过以下两种方案实现需求,优先推荐第一种溢出公式方案,仅需输入一次即可自动生成所有结果:
方案1:新版Google Sheets(支持LAMBDA函数,推荐)
- 先在C1单元格输入表头
Header 3 - 在C2单元格直接输入如下公式即可自动生成所有重复内容:
=TOCOL(MAKEARRAY(COUNTA(A2:A), MAX(B2:B), LAMBDA(r,c, IF(c<=INDEX(B2:B,r), INDEX(A2:A,r), NA()))), 2)
公式逻辑说明:
COUNTA(A2:A)统计A列除表头外的有效数据行数MAX(B2:B)取所有重复次数的最大值,作为生成数组的列数MAKEARRAY生成对应行列数的数组,符合重复次数要求的位置填入对应文本,不符合的位置填错误值TOCOL将二维数组转为一维列,同时跳过所有错误值,最终得到按顺序排列的重复文本
方案2:旧版Google Sheets兼容方案
如果你的Google Sheets版本不支持LAMBDA函数,可以用下拉公式实现:
- C1输入表头
Header 3,C2单元格直接输入=A2 - C3单元格输入如下公式:
=IF(COUNTIF(C$2:C2, C2) < VLOOKUP(C2, A:B, 2, FALSE), C2, INDEX(A:A, MATCH(C2, A:A, 0)+1))
- 按住C3单元格右下角的填充柄,向下拖动到内容不再生成即可。
注意事项:
- 若你的数据范围不是A、B列从第2行开始,替换公式中对应的单元格范围即可
- 若B列存在数值为0的行,公式会自动跳过对应A列的文本内容
内容的提问来源于stack exchange,提问作者itsover9000
相关产品推荐
相关产品推荐

