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

利用复选框实现Google Sheets跨工作表数据自动复制

Google Sheets 实现勾选复选框自动复制行到Logs工作表

步骤1:添加复选框列

在你的体育道具命中率数据表中,选择空白列(比如A列),点击菜单栏的插入 > 复选框,为每行添加可勾选的复选框控件。

步骤2:编写Google Apps Script脚本

  1. 打开表格,点击菜单栏的扩展 > Apps 脚本,进入脚本编辑器。
  2. 删除默认的myFunction代码,替换为以下脚本:
function onEdit(e) {
  // 替换为你的命中率数据表实际名称
  const sourceSheetName = "命中率记录";
  const targetSheetName = "Logs";
  const checkboxColumn = 1; // 复选框所在列的序号,A列对应1,B列对应2,以此类推

  const activeSheet = e.source.getActiveSheet();
  // 仅响应指定数据表的复选框勾选操作
  if (activeSheet.getName() !== sourceSheetName || e.range.columnStart !== checkboxColumn || e.value !== "TRUE") return;

  // 获取当前行的有效数据(跳过复选框列)
  const rowRange = activeSheet.getRange(e.range.rowStart, 2, 1, activeSheet.getLastColumn() - 1);
  const rowData = rowRange.getValues()[0];

  // 定位到Logs工作表并找到最后一行
  const targetSheet = e.source.getSheetByName(targetSheetName);
  const lastTargetRow = targetSheet.getLastRow();

  // 将数据粘贴到Logs表的下一行
  targetSheet.getRange(lastTargetRow + 1, 1, 1, rowData.length).setValues([rowData]);

  // 可选:自动取消勾选复选框,避免重复触发
  e.range.setValue(false);
}
  1. 根据你的表格情况,修改sourceSheetName为数据表的实际名称,调整checkboxColumn为复选框所在列的序号。
  2. 点击脚本编辑器的保存按钮,给脚本命名(比如"CopyToLogs")。

步骤3:测试功能

回到数据表,勾选任意一行的复选框,该行数据会自动复制到Logs工作表的最后一行之后,同时复选框会自动取消勾选(如果保留了可选代码)。

注意事项

  • 确保Logs工作表已存在,且列结构和数据表(除复选框列外)一致,防止数据错位。
  • 脚本使用简单触发器onEdit,无需额外配置触发条件,保存后即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:30:37