You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中按指定次数将单元格内容批量垂直填充至单列?

解决Excel中按指定次数垂直重复文本的问题

以下是几种无需手动重复操作的实现方法,适用于不同版本的Excel:

方法1:Excel 365/2021 动态数组公式

如果你的Excel支持动态数组,直接在L1单元格输入以下公式,它会自动溢出填充所有需要的行:

=INDEX(A:A,XMATCH(SEQUENCE(SUM(B1:B5)),SCAN(0,B1:B5,LAMBDA(a,b,a+b))))
  • 替换A1:A5为你的颜色文本所在区域(如Tan、Grey这些值的范围)
  • 替换B1:B5为对应次数的数字区域
  • 原理:SUM(B1:B5)计算总重复行数,SCAN生成累计次数序列,XMATCH匹配每行序号对应的颜色分组,最终用INDEX提取对应文本

如果你习惯更直观的写法,也可以用TEXTSPLIT+TEXTJOIN组合:

=LET(
    colors, A1:A5,
    counts, B1:B5,
    repeated, MAP(colors, counts, LAMBDA(c,n, REPT(c&"|",n))),
    TEXTSPLIT(TEXTJOIN("|",TRUE,repeated), "|",,TRUE)
)

方法2:旧版Excel 数组公式(无动态数组支持)

对于不支持动态数组的旧版Excel,先计算总重复行数(SUM(B1:B5)),然后在L1输入以下公式,按Ctrl+Shift+Enter作为数组公式提交,再下拉填充到所有行:

=INDEX($A$1:$A$5, MATCH(ROW()-ROW($L$1)+1, SUMIF($B$1:$B$5, "<="&$B$1:$B$5), 1))
  • 同样替换A1:A5和B1:B5为你的数据区域
  • 原理:通过SUMIF生成累计次数,用MATCH定位当前行对应的颜色,再用INDEX提取文本

方法3:Power Query 批量处理(适合大量数据)

如果数据量较大,Power Query的操作更稳定:

  1. 选中你的颜色和次数数据区域(包含Tan、Grey和对应数字的单元格范围)
  2. 点击「数据」选项卡 → 「从表格/区域」(Excel 2016及以后版本),确认数据包含表头
  3. 在Power Query编辑器中,选中次数列,点击「转换」选项卡 → 「重复行」,系统会自动按次数重复每行
  4. 删除次数列,只保留颜色列
  5. 点击「关闭并上载」,将结果导出到新工作表,再复制到L列即可

内容的提问来源于stack exchange,提问作者CallSignPhoenix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:27:41