如何在Google Sheets中匹配文件夹名自动获取Google Drive对应链接
在Google Sheets中自动匹配Google Drive文件夹链接的实现方案
一、原生公式限制
原生Google Sheets公式无法直接遍历Google Drive的层级文件夹结构,因此纯公式无法实现该需求,必须借助Google Apps Script完成。
二、Google Apps Script实现方案(支持现有表格直接运行)
你可以直接在现有表格中添加脚本,步骤如下:
- 打开目标Google Sheets表格,点击顶部菜单栏「扩展程序」→「Apps Script」,打开脚本编辑器。
- 删除默认的
myFunction代码,粘贴以下自定义脚本:
function GetFolderLink(targetFolderName) { // 替换为你的「客户文件夹」ID(从Drive文件夹URL中提取,即https://drive.google.com/drive/folders/后的字符串) const parentFolderId = "替换为客户文件夹ID"; const parentFolder = DriveApp.getFolderById(parentFolderId); // 遍历所有日期命名的子文件夹 const dateFolders = parentFolder.getFolders(); while (dateFolders.hasNext()) { const dateFolder = dateFolders.next(); // 在当前日期文件夹内查找目标文件夹 const targetFolders = dateFolder.getFoldersByName(targetFolderName); if (targetFolders.hasNext()) { const targetFolder = targetFolders.next(); // 返回带超链接的格式,单元格直接显示可点击链接 return `=HYPERLINK("${targetFolder.getUrl()}", "${targetFolderName}")`; } } // 未找到对应文件夹时返回提示 return "未找到对应文件夹"; }
- 修改代码中的
parentFolderId:打开你的「客户文件夹」,从浏览器地址栏复制ID替换进去。 - 点击脚本编辑器顶部「保存」,给脚本命名(比如「DriveFolderLink」),按提示完成权限授权(允许脚本访问你的Drive数据)。
- 返回表格,在B1单元格输入公式:
=GetFolderLink(A1),当A1输入目标文件夹名称时,B1会自动生成对应Drive文件夹的可点击链接;未找到则返回提示文本。
关键说明
- 由于所有文件夹名称唯一,脚本找到匹配项后会立即返回结果,无需处理重复问题。
- 后续「客户文件夹」下新增日期子文件夹时,脚本会自动遍历,无需修改代码。
内容的提问来源于stack exchange,提问作者Raman Singh
相关产品推荐
相关产品推荐

