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

Google Sheets中基于两列映射字典批量区分大小写替换字符

在Google Sheets中实现区分大小写的批量字符替换

解决方案:使用自定义Apps Script函数

针对区分大小写、支持多字符/空值替换、映射表可扩展、避免嵌套公式的需求,最佳方案是创建自定义函数,通过Google Apps Script实现灵活的字符映射替换。

步骤1:创建自定义函数

  1. 打开目标Google Sheets文档,点击顶部菜单扩展 > Apps 脚本
  2. 删除默认的myFunction代码,粘贴以下脚本:
function MAP_REPLACE(inputStr, mapRange) {
  // 处理空输入,直接返回原内容
  if (!inputStr || !mapRange) return inputStr;
  
  // 将映射表转换为键值对对象,提升查找效率
  const replaceMap = mapRange.reduce((obj, row) => {
    const [sourceChar, replacement] = row;
    // 跳过空的源字符行
    if (sourceChar !== '') {
      // 替换值为空时,默认设为空字符串
      obj[sourceChar] = replacement !== undefined ? replacement : '';
    }
    return obj;
  }, {});
  
  // 遍历每个字符,按映射表替换,未匹配的字符保留原样
  return inputStr.split('').map(char => replaceMap[char] || char).join('');
}
  1. 点击脚本编辑器顶部的保存按钮,为项目命名(比如CharReplaceTool)

步骤2:在单元格中调用函数

假设:

  • 需要替换的源字符串在单元格C1
  • 映射表位于A2:B(A列为源字符,B列为替换内容,支持后续新增行)

在目标单元格输入公式:

=MAP_REPLACE(C1, A2:B)

测试示例

按照需求设置映射表:

A列(源字符)B列(替换内容)
2Ą
4Ę
Ax
a•
C7

输入源字符串1234AaCD,函数会返回1Ą3Ęx•7D,完全符合预期。

关键特性说明

  • 区分大小写:通过严格的字符匹配(对象键的严格相等判断),确保A和a被视为不同字符分别替换
  • 支持多字符/空值替换:替换内容可以是任意长度的字符串,甚至为空(空值会直接删除对应源字符)
  • 可扩展映射表:只需在A2:B范围内新增行,公式会自动加载新的映射规则,无需修改函数或公式
  • 高效处理大量映射:将映射表转为对象后,查找替换的时间复杂度为O(n)(n为字符串长度),几百行映射表也能快速处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 22:25:24