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

如何用Excel函数实现按原列数值生成合并列并扩展行?

实现Excel项目名称按序号总数扩展为多行的函数方法

方法一:适用于Excel 365/2021(支持动态数组)

直接在C2单元格输入以下公式,公式会自动向下填充所有结果:

=REDUCE("", A2:A10, LAMBDA(x, y, VSTACK(x, y&SEQUENCE(INDEX(B:B, MATCH(y, A:A, 0))))))

公式说明:

  • REDUCE 遍历A列的每个项目名称
  • SEQUENCE(INDEX(B:B, MATCH(y, A:A, 0))) 为当前项目生成1到对应B列数值的序号序列
  • y&序号 拼接项目名称和序号
  • VSTACK 把每个项目生成的行堆叠成最终的结果列

注意:把公式里的A2:A10替换成你实际的项目名称列范围

方法二:适用于旧版Excel(无动态数组支持)

在C2单元格输入以下数组公式,输入完成后按 Ctrl+Shift+Enter 确认,然后向下拖动填充柄直到出现空值:

=IFERROR(INDEX(A:A, SMALL(IF(ROW($1:$100)<=SUM(B$2:B$10), MATCH(ROW($1:$100), SUMIF(B$2:B$10, "<="&B$2:B$10)+1, 0)), ROW(A1))) & COUNTIF(C$1:C1, INDEX(A:A, SMALL(IF(ROW($1:$100)<=SUM(B$2:B$10), MATCH(ROW($1:$100), SUMIF(B$2:B$10, "<="&B$2:B$10)+1, 0)), ROW(A1))) + 1, "")

公式说明:

  1. SUMIF(B$2:B$10, "<="&B$2:B$10) 计算每个项目的累计序号总数,确定每个项目的行范围
  2. SMALL + MATCH 找到当前行对应的项目名称
  3. COUNTIF(C$1:C1, 项目名称)+1 生成该项目的当前序号
  4. IFERROR 处理超出范围的空值

注意:根据你的数据量调整ROW($1:$100)的上限,确保覆盖所有可能的扩展行数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:22:07