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

Google Sheets单元格重复数字布尔判断的精简公式方案

Google Sheets 精简实现重复数字判断的TRUE/FALSE输出

示例数据(A列内容)

11

11 11
5 6
5 5
5 6 6 5
11 11 11 11

6 7 8
3
3 2 3

预期结果

原内容预期结果
11TRUE
空单元格FALSE
11 11TRUE
5 6FALSE
5 5TRUE
5 6 6 5TRUE
11 11 11 11TRUE
空单元格FALSE
6 7 8FALSE
3TRUE
3 2 3TRUE

判断逻辑

  • 返回FALSE的场景:
    • 单元格为空
    • 单元格内所有数字无重复
  • 返回TRUE的场景:
    • 单元格仅含单个数字
    • 单元格内存在至少两个重复数字(与顺序无关)

补充说明

  • 数字以空格分隔
  • 数字范围为1至80
  • 每个单元格最多包含40个数字,最少1个或为空

已尝试的方法

  1. 用SUM(SPLIT(...))求和后除以数字个数,判断结果是否为整数——但对3 2 3、6 7 8这类场景无效
  2. 用SPLIT结合QUERY、LET等函数处理——公式过于冗长,不够精简

精简解决方案

方案1:利用UNIQUE函数对比数量

公式(以A1单元格为例):

=IF(A1="",FALSE,OR(COUNTA(SPLIT(A1," "))=1,COUNTA(SPLIT(A1," "))>COUNTA(UNIQUE(SPLIT(A1," ")))))

逻辑说明:

  • 先判断单元格是否为空,为空直接返回FALSE
  • 若单元格只有1个数字,返回TRUE
  • 拆分数字后,对比原数字数量和去重后的数量,若原数量更大(说明有重复),返回TRUE;否则返回FALSE

方案2:正则表达式方案

公式(以A1单元格为例):

=IF(A1="",FALSE,OR(REGEXMATCH(A1,"^\d+$"),REGEXMATCH(A1,"(\b\d+\b).*\1")))

逻辑说明:

  • 空单元格返回FALSE
  • ^\d+$匹配单个数字的情况,返回TRUE
  • (\b\d+\b).*\1匹配任意重复出现的完整数字(避免部分匹配,比如1和11不会被误判),存在重复则返回TRUE
  • 其余情况(多个不重复数字)返回FALSE

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 07:31:05