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

如何通过下拉选择工作表实现PO数据自动写入对应项目工作表

实现方案

步骤1:添加项目工作表下拉选择框

打开存储PO数据的表格,在PO工作表的空白单元格(例如J1)输入表头目标项目工作表,选中J2单元格,点击顶部菜单「数据」-「数据验证」,验证规则选择「来自范围的列表」,可手动输入所有项目工作表名称作为选项,保存后即可生成下拉选择框。

步骤2:修改适配多项目的Apps Script代码

替换原有代码为以下内容,代码会读取你在下拉框选择的项目名称,自动匹配对应目标工作表写入数据,同时增加了合法性校验避免报错:

function copyPODataToProject() {
  // 源PO表配置
  const sss = SpreadsheetApp.openById('ahkj54IIndlskdjf123hdUTS'); 
  const poSheet = sss.getSheetByName('PO');
  // 读取下拉框选择的目标项目名称,若你的下拉选项存储在其他单元格可修改此处的单元格位置
  const targetProjectName = poSheet.getRange('J2').getValue();
  if (!targetProjectName) {
    SpreadsheetApp.getUi().alert('请先选择目标项目工作表');
    return;
  }
  // 读取PO表A2:I50区间的数据
  const range = poSheet.getRange('A2:I50');
  const data = range.getValues();

  // 目标项目登记册表格配置
  const tss = SpreadsheetApp.openById('78udjUdklo78354fghUjdlIWS24Chf');
  const targetSheet = tss.getSheetByName(targetProjectName);
  // 校验目标工作表是否存在
  if (!targetSheet) {
    SpreadsheetApp.getUi().alert(`未找到名为「${targetProjectName}」的项目工作表`);
    return;
  }
  // 将数据写入目标工作表最后一行的下方
  targetSheet.getRange(targetSheet.getLastRow()+1, 1, data.length, data[0].length).setValues(data);
  // 可选:同步完成后清空PO数据和下拉选项,方便下次录入,取消注释即可生效
  // range.clearContent();
  // poSheet.getRange('J2').clearContent();
  SpreadsheetApp.getUi().alert('PO数据已成功同步到对应项目登记册');
}

可选:自动同步目标表格的工作表名到下拉选项

如果不需要手动维护下拉选项列表,希望新增项目工作表后自动同步到下拉选项,可添加以下函数,设置触发器为「打开电子表格时」运行即可:

function updateProjectDropdown() {
  const sss = SpreadsheetApp.openById('ahkj54IIndlskdjf123hdUTS'); 
  const poSheet = sss.getSheetByName('PO');
  const tss = SpreadsheetApp.openById('78udjUdklo78354fghUjdlIWS24Chf');
  // 获取目标表格所有工作表名称
  const allProjectSheets = tss.getSheets().map(sheet => sheet.getName());
  // 自动更新J2单元格的下拉选项
  const validationRule = SpreadsheetApp.newDataValidation()
    .requireValueInList(allProjectSheets)
    .build();
  poSheet.getRange('J2').setDataValidation(validationRule);
}

可选:添加一键运行按钮

在PO工作表顶部插入「绘图」自定义一个按钮,绘制完成后右键点击按钮选择「分配脚本」,输入copyPODataToProject,后续选择目标项目后点击按钮即可完成数据同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:39:04