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

如何编写Google Sheets脚本实现下拉选胜者后复制对应球队图片

Google Sheets 自动插入球队图片脚本方案

核心逻辑

当你在Week _开头的工作表中通过下拉菜单选中球队后,脚本会自动在Teams工作表中查找该球队名(E-I列),找到对应行后,将该行A列的图片复制到你选择球队的单元格中。

完整脚本代码

打开你的Google Sheets工作簿,点击「扩展程序」→「Apps Script」,清空默认代码,粘贴以下内容:

function onEdit(e) {
  // 获取编辑事件的相关信息
  const range = e.range;
  const sheet = range.getSheet();
  const selectedTeam = e.value;
  
  // 仅处理以"Week "开头的工作表,且编辑的单元格有值
  if (!sheet.getName().startsWith("Week ") || !selectedTeam) return;
  
  // 定位Teams工作表
  const teamsSheet = e.source.getSheetByName("Teams");
  if (!teamsSheet) {
    SpreadsheetApp.getUi().alert("未找到名为'Teams'的工作表!");
    return;
  }
  
  // 查找Teams表中E-I列包含选中球队名的行
  const searchRange = teamsSheet.getRange("E:I");
  const values = searchRange.getValues();
  let targetRow = -1;
  
  for (let i = 0; i < values.length; i++) {
    if (values[i].includes(selectedTeam)) {
      targetRow = i + 1; // 转换为实际行号(数组从0开始,行号从1开始)
      break;
    }
  }
  
  if (targetRow === -1) {
    SpreadsheetApp.getUi().alert(`未找到球队'${selectedTeam}'的信息!`);
    return;
  }
  
  // 获取目标行A列的图片
  const targetCell = teamsSheet.getRange(targetRow, 1);
  const images = targetCell.getImages();
  
  if (images.length === 0) {
    SpreadsheetApp.getUi().alert(`球队'${selectedTeam}'对应的行没有图片!`);
    return;
  }
  
  // 先清除当前单元格已有的图片
  const existingImages = range.getImages();
  existingImages.forEach(img => img.remove());
  
  // 复制图片到当前单元格
  const newImage = images[0].copyTo(range);
  // 设置图片适应单元格大小
  newImage.setAnchorCell(range);
  newImage.setScaleToFit(true);
}

设置说明

  • 下拉菜单配置:确保Week _工作表中选胜者的单元格已设置数据验证下拉菜单,选项和Teams表E-I列的球队名完全一致(大小写、空格都要匹配)。
  • 权限授权:首次运行或修改脚本后,需授权脚本访问你的Google Sheets数据,按提示完成即可。
  • 图片格式:Teams表A列的图片要插入到单元格内(而非浮在单元格上方),脚本才能正确获取。

注意事项

  • 脚本会在你编辑单元格时自动触发,无需手动运行。
  • 若同一球队名在Teams表E-I列多次出现,脚本只会取第一次出现的对应行图片。
  • 清空单元格内容时,脚本不会执行任何操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 09:40:08