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

如何在Google Sheets中通过按钮为选中单元格批量添加/移除指定前缀

Google Sheets批量添加/移除称谓前缀实现方案

本方案通过Google Apps Script实现选中单元格批量添加/移除指定称谓前缀的需求,操作无需复杂配置,适配原VBA需求的替代场景。

实现逻辑

  • 表格顶部生成自定义功能菜单,无需插入图形按钮,稳定性更高
  • 点击对应称谓选项后自动判断选中单元格内容状态:已带对应前缀则移除,未带则添加
  • 支持多单元格跨区域批量选中操作,空单元格、非文本内容不会被误修改

操作步骤

  1. 打开目标Google Sheets表格,点击顶部菜单栏「扩展程序」-「Apps 脚本」打开脚本编辑器
  2. 删除编辑器默认的空myFunction代码块,粘贴下方完整代码
  3. 点击保存按钮,为项目命名(如「称谓前缀工具」),按提示完成脚本权限授权(出现未验证应用提示时点击「高级」-「前往[项目名]」即可,脚本为自定义代码无安全风险)
  4. 回到表格页面刷新,顶部菜单栏会新增「称谓前缀工具」自定义菜单

完整代码

// 表格打开时自动加载自定义菜单
function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('称谓前缀工具')
    .addItem('添加/移除 Mr. 前缀', 'toggleMr')
    .addItem('添加/移除 Mrs. 前缀', 'toggleMrs')
    .addItem('添加/移除 Ms. 前缀', 'toggleMs')
    .addItem('添加/移除 Dr. 前缀', 'toggleDr')
    .addToUi();
}

// 通用前缀切换逻辑
function togglePrefix(prefix) {
  const range = SpreadsheetApp.getActiveRange();
  const values = range.getValues();
  const updatedValues = values.map(row => row.map(cell => {
    if (typeof cell !== 'string') return cell;
    // 匹配已存在的前缀(忽略前置空格)
    if (cell.trimStart().startsWith(prefix + ' ')) {
      return cell.replace(new RegExp(`^\\s*${prefix}\\s`), '');
    } else {
      return `${prefix} ${cell}`;
    }
  }));
  range.setValues(updatedValues);
}

// 各称谓触发函数
function toggleMr() {
  togglePrefix('Mr.');
}
function toggleMrs() {
  togglePrefix('Mrs.');
}
function toggleMs() {
  togglePrefix('Ms.');
}
function toggleDr() {
  togglePrefix('Dr.');
}

使用方法

  • 选中需要操作的单个或多个目标单元格
  • 点击顶部「称谓前缀工具」菜单,选择对应称谓选项
  • 首次点击为添加前缀,再次点击同一选项为移除对应前缀

自定义拓展说明

如果需要新增其他称谓前缀,只需两步操作:

  1. 在代码末尾新增对应触发函数,例如新增Miss.前缀的代码如下:
function toggleMiss() {
  togglePrefix('Miss.');
}
  1. 在onOpen函数的菜单配置段新增一行:
    .addItem('添加/移除 Miss. 前缀', 'toggleMiss')
    保存后刷新表格即可生效。

内容的提问来源于stack exchange,提问作者Kevin P.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:54:02