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

如何用Make.com在Google Sheets指定行查找课程标题并返回对应单元格?

解决方案:在Make.com中定位并更新Google Sheets的成对课程列

方法一:纯Make.com模块组合实现

步骤1:获取目标行完整数据

通过已有的「Search Rows」模块按邮箱定位目标行,确保模块返回该行所有列的数据(包含F到Z列的课程与日期字段)。

步骤2:提取并遍历成对字段

  1. 添加「Iterator」模块,将目标行的字段列表设为迭代源。
  2. 配置迭代逻辑:要么按每2个字段为一组遍历(对应F/G、H/I这类Lesson Name/Completed Date成对列),要么直接筛选出所有字段名包含Lesson Name的项。

步骤3:匹配课程并定位日期列

在Iterator内部添加「Condition」模块,判断当前Lesson Name X字段的值是否等于目标课程标题(如Course Overview):

  • 匹配成功时,记录对应的Completed Date X字段名(比如匹配Lesson Name 2则对应Completed Date 2)。

步骤4:插入时间戳

添加「Update a Row」模块,定位到目标行,将记录的Completed Date X字段值设为Make内置时间戳{{now}}。

方法二:Google Apps Script + Make.com调用(更灵活)

步骤1:编写Sheets自定义脚本

打开目标Google Sheets,进入「扩展程序 > Apps Script」,新建脚本并粘贴以下代码:

function updateLessonCompletion(email, lessonName, timestamp) {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();
  
  // 按邮箱查找目标行号(Sheets行号从1开始)
  let targetRow = -1;
  for (let i = 1; i < data.length; i++) {
    if (data[i].includes(email)) {
      targetRow = i + 1;
      break;
    }
  }
  if (targetRow === -1) return "未找到目标行";
  
  // 遍历F到Z列(数组索引5到25),成对检查课程名
  for (let col = 5; col <= 25; col += 2) {
    const lessonValue = sheet.getRange(targetRow, col).getValue();
    if (lessonValue === lessonName) {
      // 写入时间戳到右侧日期列
      sheet.getRange(targetRow, col + 1).setValue(new Date(timestamp));
      return "更新成功";
    }
  }
  return "未找到目标课程";
}

保存脚本并授权运行一次(完成权限验证)。

步骤2:在Make.com中调用脚本

添加「Google Sheets > Run a Function」模块,配置:

  • 选择目标表格与脚本函数updateLessonCompletion
  • 传入三个参数:
    1. 邮箱:从「Search Rows」模块获取的目标行邮箱值
    2. 课程名:指定的目标课程标题(如Course Overview)
    3. 时间戳:Make内置变量{{now}}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:37:39