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

如何用Google Apps Script将源表符合条件的指定列数据复制到目标表

Google Apps Script 实现源表数据筛选同步到目标表

核心逻辑

  • 读取源表所有数据,跳过表头行
  • 逐行检查状态列(G列)是否为yes
  • 提取符合条件行的姓名、性别、薪资数据,按目标表结构组装(若目标表含电话、邮箱列则补充-)
  • 批量将符合条件的数据追加到目标表的最后一行

完整代码

function syncDataToTargetSheet() {
  // 获取当前打开的电子表格
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  
  // 替换为你的源表和目标表实际名称
  const sourceSheet = ss.getSheetByName("源表");
  const targetSheet = ss.getSheetByName("目标表");
  
  // 检查表是否存在
  if (!sourceSheet || !targetSheet) {
    SpreadsheetApp.getUi().alert("请确认源表或目标表的名称是否正确!");
    return;
  }
  
  // 获取源表数据,跳过表头(第1行)
  const sourceData = sourceSheet.getDataRange().getValues().slice(1);
  
  // 存储需要同步的数据
  const dataToSync = [];
  
  // 遍历源表每一行
  sourceData.forEach(row => {
    const status = row[6]; // G列对应数组索引6(数组从0开始计数)
    if (status === "yes") {
      const name = row[1]; // B列:姓名
      const gender = row[2]; // C列:性别
      const salary = row[5]; // F列:薪资
      
      // 按你的预期输出结构组装数据(姓名、性别、电话、邮箱、薪资)
      dataToSync.push([name, gender, "-", "-", salary]);
      
      // 如果目标表实际只有姓名、性别、薪资三列,替换成下面这行:
      // dataToSync.push([name, gender, salary]);
    }
  });
  
  // 没有符合条件的数据时提示
  if (dataToSync.length === 0) {
    SpreadsheetApp.getUi().alert("没有状态为yes的数据需要同步!");
    return;
  }
  
  // 获取目标表下一个可写入的行号
  const targetStartRow = targetSheet.getLastRow() + 1;
  
  // 批量写入数据到目标表
  targetSheet.getRange(targetStartRow, 1, dataToSync.length, dataToSync[0].length).setValues(dataToSync);
  
  SpreadsheetApp.getUi().alert("数据同步完成!");
}

代码说明

  • getSheetByName("表名"):必须替换成你实际的源表和目标表名称,否则会报错
  • 数组索引:Google表格的列从A开始对应数组索引0,比如G列是第7列,所以索引为6
  • 批量写入:setValues()比逐行写入效率高很多,适合处理大量数据
  • 两种组装逻辑:注释部分对应你描述的目标表结构(三列),未注释部分对应你给出的预期输出结构(五列),按需选择

使用步骤

  1. 打开你的Google表格
  2. 点击顶部菜单栏「扩展程序」→「Apps Script」
  3. 删除编辑器里的默认代码,粘贴上述代码
  4. 修改代码中的"源表"和"目标表"为你实际的工作表名称
  5. 点击编辑器顶部的保存按钮,给项目起个名字(比如「数据同步工具」)
  6. 点击运行按钮,首次运行需要授权,按照页面提示完成授权即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 09:51:28