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

如何通过Google Script将源表指定列(A、C、H)的多行数据追加到目标表

Google Script实现指定列数据追加到目标工作表

下面是直接可用的脚本,能把源工作表的A、C、H列数据批量追加到目标工作表:

function appendSpecifiedColumns() {
  // 替换成你的源工作表和目标工作表名称
  const sourceSheetName = "源工作表";
  const targetSheetName = "目标工作表";

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sourceSheet = ss.getSheetByName(sourceSheetName);
  const targetSheet = ss.getSheetByName(targetSheetName);

  if (!sourceSheet || !targetSheet) {
    SpreadsheetApp.getUi().alert("找不到指定的工作表,请检查名称是否正确");
    return;
  }

  // 获取源表所有数据(包含表头)
  const sourceData = sourceSheet.getDataRange().getValues();
  
  // 如果源表没有数据,直接退出
  if (sourceData.length === 0) return;

  // 筛选A、C、H列(对应数组索引0、2、7,数组从0开始计数)
  // 若不需要表头,把sourceData改成sourceData.slice(1)
  const filteredData = sourceData.map(row => [row[0], row[2], row[7]]);

  // 追加到目标表的最后一行之后
  targetSheet.getRange(
    targetSheet.getLastRow() + 1,
    1,
    filteredData.length,
    filteredData[0].length
  ).setValues(filteredData);
}

关键说明:

  • 工作表名称替换:把sourceSheetName和targetSheetName的值改成你实际的工作表名称
  • 表头处理:如果源表第一行是表头且不需要追加到目标表,将sourceData替换为sourceData.slice(1),即可从第二行开始提取数据
  • 空行过滤:如果需要跳过源表中完全为空的行,可在map前添加过滤逻辑:
    const filteredData = sourceData
      .filter(row => row.some(cell => cell !== "")) // 过滤完全为空的行
      .map(row => [row[0], row[2], row[7]]);
    
  • 权限授权:第一次运行脚本时,需按照提示完成Google Script的表格访问授权

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 02:03:20