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

如何在Google Spreadsheets中无需新增列将整列URL重命名为统一名称

由于Google Sheets公式存在循环引用限制,无法在存放原始URL的单元格内直接输入引用自身的HYPERLINK公式,因此普通公式方案无法满足你「不新增列、直接在A列处理」的需求,需要借助内置的Apps Script实现效果。

操作步骤

  1. 打开目标Google表格,点击顶部菜单栏的「扩展程序」-「Apps Script」,打开脚本编辑器
  2. 删除编辑器内默认的所有代码,粘贴如下代码:
// 自动处理后续新增的粘贴/输入链接
function onEdit(e) {
  const range = e.range;
  const sheet = range.getSheet();
  // 仅处理A列、排除第一行表头,不需要排除表头可删除`range.getRow() === 1`判断
  if (range.getColumn() !== 1 || range.getRow() === 1) return;
  const url = range.getValue().toString().trim();
  // 仅识别http/https格式的合法链接
  if (url.startsWith("http://") || url.startsWith("https://")) {
    const richText = SpreadsheetApp.newRichTextValue()
      .setText("My Link")
      .setLinkUrl(url)
      .build();
    range.setRichTextValue(richText);
  }
}

// 批量转换A列已有的旧链接,仅需运行一次
function batchConvertExistingUrls() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // 取A列第2行开始的所有有内容单元格,不需要排除表头可把2改成1
  const urls = sheet.getRange(2, 1, sheet.getLastRow() - 1, 1).getValues();
  const richTextResults = [];
  urls.forEach(row => {
    const url = row[0].toString().trim();
    if (url.startsWith("http://") || url.startsWith("https://")) {
      const richText = SpreadsheetApp.newRichTextValue()
        .setText("My Link")
        .setLinkUrl(url)
        .build();
      richTextResults.push([richText]);
    } else {
      richTextResults.push([row[0]]);
    }
  });
  sheet.getRange(2, 1, richTextResults.length, 1).setRichTextValues(richTextResults);
}
  1. 点击编辑器顶部的保存按钮,随意设置项目名称(比如「链接自动重命名」),按提示完成Google账号的权限授权
  2. 处理已有旧链接:在编辑器顶部的函数下拉框选中batchConvertExistingUrls,点击运行按钮,执行完成后返回表格,A列所有已有链接都会自动变为显示为My Link的可点击链接
  3. 后续使用无需额外操作,只要在A列空白单元格粘贴/输入合法链接,就会自动触发转换,直接将显示文本修改为My Link

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:27:00