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

如何在Excel中根据数量列动态生成对应值的重复序列

该需求可以完全实现,无需编写VBA,仅用Excel内置函数即可完成,修改Amount数值后序列会自动同步更新。

操作步骤

1. 数据预处理(可选,推荐新手操作)

选中你的两列原始数据(包含Fruit、Amount表头),按下快捷键Ctrl+T,在弹出的「创建表」弹窗中勾选「表包含标题」,点击确定即可将普通区域转换为Excel结构化表。

结构化表的优势是后续新增水果行、修改原有数据时,公式会自动识别新的数据范围,无需手动调整引用。

2. 公式编写

适用Excel 365 / 2021及以上版本

直接在你需要放置序列的空白单元格中输入以下公式,按下回车即可生成结果:

=TEXTJOIN(" | ",TRUE,REPT(表1[Fruit]&" | ",表1[Amount]))

公式说明:

  • REPT(文本, 重复次数):将指定文本重复对应次数,这里实现单个水果名按Amount列数值重复
  • TEXTJOIN(分隔符, 是否忽略空值, 数组):将所有重复后的水果名用|拼接为整段文本
  • 公式中的表1是你创建结构化表的默认名称,如果你修改了表名对应替换即可。

适用Excel 2019及更早版本

老版本无动态数组功能,需要增加1列辅助列实现:

  1. 在原始数据旁新增C列作为辅助列,C2单元格输入公式=SUM(B$2:B2),下拉填充到所有数据行,该列用于计算累计重复次数
  2. 在需要放置序列的单元格输入以下公式,输入完成后按下Ctrl+Shift+Enter数组组合键确认:
=TEXTJOIN(" | ",TRUE,IF(ROW(INDIRECT("1:"&SUM(B:B)))<=TRANSPOSE(C2:C100),A2:A100,""))

公式中的C2:C100、A2:A100可以根据你预计的最大数据行数调整,预留足够余量即可。

效果验证

任意修改Amount列的数值,按下回车后序列会自动同步更新,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:36:04