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

使用Google Apps Script基于匹配值更新WOL表格技术人员名称

解决Google Sheets匹配替换技术人员名称的问题

嘿,作为Google Apps Script新手,这个需求其实很好实现,我给你准备了带详细注释的代码,你可以直接套用:

完整可运行代码

function updateTechnicianName() {
  // 获取当前打开的表格文件
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  
  // 分别获取两个工作表对象
  const wolSheet = ss.getSheetByName('WOL');
  const wlSheet = ss.getSheetByName('WL');
  
  // 读取WL表中需要匹配的编号和新的技术人员名称
  const targetId = wlSheet.getRange('H1').getValue();
  const newTechnician = wlSheet.getRange('B2').getValue();
  
  // 空值校验:如果匹配编号或新名称为空,直接提示并退出
  if (!targetId || !newTechnician) {
    SpreadsheetApp.getUi().alert('请确保WL表的H1和B2单元格都填写了内容!');
    return;
  }
  
  // 获取WOL表A列的所有数据(从第1行到最后一行)
  const idColumnValues = wolSheet.getRange('A:A').getValues();
  
  // 遍历A列,寻找匹配的唯一编号
  for (let i = 0; i < idColumnValues.length; i++) {
    const currentId = idColumnValues[i][0];
    // 找到匹配项后,更新对应行的B列值
    if (currentId === targetId) {
      wolSheet.getRange(i + 1, 2).setValue(newTechnician);
      SpreadsheetApp.getUi().alert(`已成功更新:编号${targetId}对应的技术人员改为${newTechnician}!`);
      return; // 因为A列是唯一编号,找到后直接退出循环
    }
  }
  
  // 遍历完没找到匹配项时的提示
  SpreadsheetApp.getUi().alert(`未找到编号为${targetId}的记录,请检查输入!`);
}

新手操作步骤

  • 打开你的Google Sheets表格
  • 点击顶部菜单栏的 扩展程序 > Apps 脚本,打开脚本编辑器
  • 删除编辑器里的默认代码,粘贴上面的代码
  • 点击编辑器顶部的保存按钮,给脚本起个名字(比如UpdateTechName)
  • 点击运行按钮,第一次运行会触发授权,按照页面提示完成授权即可

代码逻辑说明

  • 先获取两个工作表的操作对象,方便后续读写数据
  • 读取WL表中指定单元格的匹配值和新名称,做了空值校验避免报错
  • 读取WOL表A列的所有数据,逐行比对寻找匹配的唯一编号
  • 找到匹配行后直接更新对应B列的值,因为A列是唯一值,找到后就停止循环提高效率
  • 全程加了弹窗提示,操作结果一目了然

这样就能轻松完成你需要的匹配替换功能啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:44:41