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

如何统计单元格中的表情符号与符号?求单单元格字符计数公式

嘿,这两个Excel统计问题我熟!我来给你一步步讲清楚怎么解决~

问题1:如何计算单元格中的表情符号和符号数量?

表情符号和特殊符号大多有特定的Unicode编码区间,我们可以基于这个特性来统计。这里给你两种实用方法:

方法1:数组公式(适合Excel 365/2021及新版本)

直接用内置函数组合就能实现,不需要额外工具。比如统计A1单元格里的表情+符号数量,用这个公式:

=SUM(--( (UNICODE(MID(A1,SEQUENCE(LEN(A1)),1))>=128512)*(UNICODE(MID(A1,SEQUENCE(LEN(A1)),1))<=128591) + (UNICODE(MID(A1,SEQUENCE(LEN(A1)),1))>=127744)*(UNICODE(MID(A1,SEQUENCE(LEN(A1)),1))<=128255) ))

简单解释下逻辑:

  • MID(A1,SEQUENCE(LEN(A1)),1):把A1里的每个字符逐个拆出来
  • UNICODE(...):获取每个字符的Unicode编码值
  • 后面的条件判断:检查编码是否落在主流表情/符号的Unicode区间里,符合条件的会返回TRUE(转成数字就是1),否则是0
  • 最后用SUM把所有符合条件的数值加起来,就是表情和符号的总数

方法2:自定义VBA函数(兼容所有Excel版本)

如果你用的是旧版Excel,不支持数组公式,那就写个小VBA函数:

  1. 按Alt + F11打开VBA编辑器
  2. 右键点击左侧的工作簿名称,选「插入」→「模块」
  3. 粘贴下面的代码:
Function CountEmojisAndSymbols(rng As Range) As Integer
    Dim singleChar As String
    Dim totalCount As Integer
    totalCount = 0
    
    For i = 1 To Len(rng.Value)
        singleChar = Mid(rng.Value, i, 1)
        ' 匹配常见表情、符号的Unicode编码区间,可根据需求调整
        If (AscW(singleChar) >= &H1F600 And AscW(singleChar) <= &H1F64F) Or _
           (AscW(singleChar) >= &H1F300 And AscW(singleChar) <= &H1F5FF) Or _
           (AscW(singleChar) >= &H2600 And AscW(singleChar) <= &H26FF) Then
            totalCount = totalCount + 1
        End If
    Next i
    
    CountEmojisAndSymbols = totalCount
End Function
  1. 保存后回到Excel,直接输入=CountEmojisAndSymbols(A1)就能统计A1里的表情和符号数量啦
问题2:统计单个单元格中的表情符号与字符总数

这个更简单!你要的“表情+所有字符的总数”,其实就是单元格里所有可见内容的总长度,直接用Excel自带的LEN函数就行:

=LEN(A1)

对应你的示例:

  • A1是,LEN(A1)返回3
  • A2是卵✋️👈卵卵,LEN(A2)返回5
  • A3是??👊👊👊,LEN(A3)返回5
    完全符合你想要的结果~

如果单元格里有多余的空格或隐藏字符,想排除的话,可以结合TRIM函数:=LEN(TRIM(A1)),不过你的示例里没有这种情况,直接用LEN就足够了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:33:20