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

如何在Google Sheets中按Samples列数值重复数据集每行内容

解决方案

该需求仅使用原生公式即可实现,不需要借助JavaScript脚本。你之前的公式会出现结果覆盖问题,是因为单个TRANSPOSE返回的是垂直数组,同列内多组返回结果会互相占用单元格导致内容被覆盖。

通用实现思路

先构造符合重复次数要求的行索引序列,再通过索引批量提取原始数据内容,直接输出完整的展开后表格即可。

各工具原生公式实现

Google Sheets 单公式实现(不需要下拉填充)

假设你的原始数据存储在A1:E3区域(A1为表头Exam,E3为第二行的样本数3),在任意空白单元格输入以下公式即可自动输出完整的展开后表格:

=ARRAYFORMULA(LET(
  原始数据,A2:E3,
  样本数列,INDEX(原始数据,0,5),
  重复索引,TOCOL(MAKEARRAY(ROWS(原始数据),MAX(样本数列),LAMBDA(r,c,IF(c<=INDEX(样本数列,r),r,NA()))),2),
  VSTACK(A1:E1,INDEX(原始数据,重复索引,SEQUENCE(COLUMNS(原始数据))))
))

Excel 365/2021 单公式实现

和Google Sheets逻辑一致,仅不需要额外加ARRAYFORMULA:

=LET(
  原始数据,A2:E3,
  样本数列,INDEX(原始数据,0,5),
  重复索引,TOCOL(MAKEARRAY(ROWS(原始数据),MAX(样本数列),LAMBDA(r,c,IF(c<=INDEX(样本数列,r),r,NA()))),2),
  VSTACK(A1:E1,INDEX(原始数据,重复索引,SEQUENCE(COLUMNS(原始数据))))
)

如果使用更低版本的Excel,也可以通过辅助列+INDEX+SMALL组合的原生公式实现,不需要调用脚本。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:06:04