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

Google Sheets中无需拆分字符串检测重复字符的实现方法

Google Sheets:验证字符串是否存在重复字母(不拆分字符串)

需求说明

需要验证字符串中的字母是否唯一:当字符串中有一个或多个字母出现两次及以上时,返回TRUE(或"Match");所有字母都唯一时返回FALSE(或"No Match")。具体限制:

  • 匹配不区分大小写
  • 禁止拆分字符串,避免大量计算(列表较长)
  • 不能使用Lambda及其辅助函数
  • 可直接返回TRUE/FALSE替代"Match"/"No Match"

输入输出示例

输入期望输出重复字母(仅作演示)
OutdoorsMatcho
dogNo Match
stepNo Match
beeMatche
ChessboardMatchs
CookbooksMatcho, k

更多验证示例

输入期望输出
ProfessionallyMatch
AttractivenessMatch
UncontrollablyMatch
disreputablyNo Match
RecommendationMatch
InterrogationsMatch
AggressivenessMatch
doublethinksNo Match

尝试过的方法

  • 拆分字符串后,用字符串长度除以唯一字母的COUNTA值判断,但拆分操作对长列表效率低下
  • 尝试用正则检测指定重复字母(如=REGEXEXTRACT(A1,"o{2}?")),但无法通用匹配任意重复字母

解决方案

使用带反向引用的正则表达式配合REGEXMATCH函数,直接判断是否存在重复字母,完全符合需求:

=REGEXMATCH(A1, "(?i)(.).*\1")

正则规则解释

  • (?i):开启不区分大小写模式,确保大小写字母视为同一字符(如"O"和"o"会被判定为重复)
  • (.):捕获任意单个字母字符
  • .*:匹配两个重复字母之间的任意内容
  • \1:引用之前捕获的字符,确保找到与第一个捕获字符相同的重复项

效果验证

  • 输入Outdoors:返回TRUE(对应"Match"),存在重复的"o"
  • 输入dog:返回FALSE(对应"No Match"),所有字母唯一
  • 输入Cookbooks:返回TRUE,存在重复的"o"和"k"

该方法无需拆分字符串,计算效率高,适配长列表,且未使用Lambda相关函数,完全满足所有限制条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:40:22