如何在Result Column中重复单元格区域SourceRange n次?
把指定单元格区域垂直重复n次的解决方案
方法一:用数组公式快速实现
假设源数据在A2:A4,要重复3次到C列,直接在C2单元格输入公式:
=FLATTEN(MAKEARRAY(3,ROWS(A2:A4),LAMBDA(r,c,INDEX(A2:A4,c))))
- 调整参数:把公式里的
3换成你需要的重复次数,A2:A4换成你的源区域即可。 - 如果想把重复次数放在单元格里(比如B1存n值),公式改成:
=FLATTEN(MAKEARRAY(B1,ROWS(A2:A4),LAMBDA(r,c,INDEX(A2:A4,c))))
方法二:用脚本批量处理
如果需要更灵活的批量操作,用Google Apps Script:
- 打开表格,点击「扩展」→「Apps 脚本」
- 粘贴以下代码,修改参数后保存运行:
function repeatSourceRange() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const sourceRange = sheet.getRange("A2:A4"); // 替换成你的源区域 const resultColumn = 3; // 目标列序号,3对应C列 const repeatTimes = 3; // 重复次数 const sourceValues = sourceRange.getValues().flat(); let resultValues = []; for(let i=0; i<repeatTimes; i++){ sourceValues.forEach(val => resultValues.push([val])); } sheet.getRange(2, resultColumn, resultValues.length, 1).setValues(resultValues); }
内容的提问来源于stack exchange,提问作者d-ron
相关产品推荐
相关产品推荐

