You need to enable JavaScript to run this app. 从Google Sheets URL地址提取对应电子表格标题的自动化实现方案
优惠活动
大模型
产品
解决方案
定价
更多

从Google Sheets URL地址提取对应电子表格标题的自动化实现方案

对应需求的两类实现方案

内置函数方案

  • 适用场景:少量链接,无需自定义逻辑,直接单元格引用
  • 公式写法(B2单元格输入后下拉填充):
    =DRIVEFILE(A2).name
    
  • 注意事项:
    • 当前登录账号需对A列对应表格拥有查看及以上权限,否则返回#N/A
    • 链接带分享后缀(如usp=sharing)时可自动识别有效ID,无需手动清理
    • 首次使用需完成Google账号授权
    • 若所在区域暂未开放DRIVEFILE函数,可使用下方AppsScript自定义函数替代

Google Apps Script方案

可分为两种使用形式:自定义函数、批量运行脚本

形式1:自定义函数(用法和内置函数一致)

  1. 打开当前表格「扩展程序 > Apps Script」,粘贴以下代码后保存:
    function GET_SHEET_TITLE(url) {
      try {
        const fileId = url.match(/[-\w]{25,}/)?.[0];
        return DriveApp.getFileById(fileId).getName();
      } catch (e) {
        return "无权限或链接无效";
      }
    }
    
  2. 返回表格B2单元格输入公式=GET_SHEET_TITLE(A2)后下拉即可

形式2:批量运行脚本(适合大量链接/自动更新场景)

  1. 在AppsScript编辑器粘贴以下代码,可按需修改START_ROW(数据起始行)参数:
    function batchGetTitles() {
      const START_ROW = 2;
      const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      // 读取A列所有非空链接
      const lastRow = sheet.getLastRow();
      const links = sheet.getRange(`A${START_ROW}:A${lastRow}`).getValues();
      // 批量生成标题数组
      const titleList = links.map(([link]) => {
        if (!link) return [""];
        try {
          const fileId = link.match(/[-\w]{25,}/)?.[0];
          return [DriveApp.getFileById(fileId).getName()];
        } catch (e) {
          return ["无权限或链接无效"];
        }
      });
      // 批量写入B列
      sheet.getRange(`B${START_ROW}:B${lastRow}`).setValues(titleList);
    }
    
  2. 保存后手动运行一次batchGetTitles函数,完成账号授权即可批量生成所有标题
  3. 可配置AppsScript时间驱动触发器,实现A列新增链接后定时自动更新B列标题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 11:36:03