如何将Google Sheets单列数据拆分至5列?
方案1:用
INDEX公式批量拆分 假设原始数据在A列(从A1开始),在B1单元格输入公式:
=INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))
输入完成后,按住单元格右下角的填充柄向右拖动到F1,再向下拖动填充整列,即可自动将每5行数据拆分为一行5列的记录。
方案2:用数组公式一键生成结果
在空白单元格(比如B1)输入以下数组公式,回车后直接生成所有拆分后的数据:
=ARRAYFORMULA(IFERROR(INDEX($A:$A, (ROW(A1:A)-1)*5+COLUMN(A1:E1))))
这个公式会自动遍历A列数据,按每5个字段为一组,横向填充到对应列中,无需手动拖动填充。
方案3:手动转置(适合少量数据)
- 选中A1:A5(第一条记录的5个字段),按
Ctrl+C复制 - 右键点击B1单元格,选择「粘贴特殊」→「转置」,此时第一条记录会横向排列在B1-F1
- 重复上述操作,依次选中A6:A10、A11:A15等,转置到B2、B3等行即可
方案4:用Apps Script自动处理(适合大量数据)
- 打开Google Sheets,点击顶部菜单栏「扩展程序」→「Apps脚本」
- 删除默认代码,粘贴以下脚本:
function splitColumnToRows() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const rawData = sheet.getRange("A:A").getValues().filter(row => row[0] !== ""); const splitData = []; for (let i = 0; i < rawData.length; i += 5) { const row = rawData.slice(i, i + 5).map(item => item[0]); splitData.push(row); } sheet.getRange(1, 2, splitData.length, splitData[0].length).setValues(splitData); }
- 点击运行按钮,完成授权后,脚本会自动将A列数据按每5个一组拆分,写入B列开始的区域
内容的提问来源于stack exchange,提问作者maxhugen
相关产品推荐
相关产品推荐

