计算字符串中指定字符个数

  • 文档创建者:axing
  • 编辑次数:10次
  • 最近更新:RosieY 于 2021-01-26
  • 1. 概述

    1.1 应用场景

    有时候我们希望找出字符串中指定字符共有多少个,如下面,A 或AA 字符的个数:
    2020-12-28_14-35-06.jpg

    1.2 解决思路

    将字符转化为数组,筛选出指定的字符,然后统计数组长度,即为指定字符的个数。或者通过指定字符分割处理后的原字符串来求出个数。

    2. 解决步骤

    2.1 单个指定字符

    1)将字符拆分为数组,拆分符为空:SPLIT(目标字符串, "")

    222
    2)通过 GREPARRAY( ) 函数筛选指定字符:GREPARRAY(上一步结果, item = "A")
    222

    3)通过 LEN( ) 函数来计算数组的项数:LEN(上一步结果)
    222

    4)综合起来,公式就是:LEN(GREPARRAY(SPLIT(目标字符串, ""), item = "A"))
    222

    2.2 单个或多个指定字符

    1)先拼接处理目标字符串,这里指定字符串为 AA:CONCATENATE("AA",目标字符串,附加符)

    在前面拼接一个指定字符串是为了防止目标字符串里完全没有指定字符串的情况下,第二步的分割函数也能生效

    在后面拼接一个附加符是为了防止指定字符串刚好在目标字符串的末尾,附加符可以是任何不包含于指定字符串的字符。

    222
    2)使用 SPLIT( ) 函数分割字符串,分割符为指定字符串:SPLIT(上一步结果,"AA")
    222

    3)通过 LEN( ) 函数来计算数组的项数:LEN(上一步结果)-2
    222

    4)综合起来,公式为:LEN(SPLIT(CONCATENATE("AA",目标字符串,"-"),"AA"))-2
    222

    3. 示例

    3.1 模板设计

    1)将数据集字段拖到单元格 B2、B3 ,如下图所示:

    2020-12-28_14-41-28.jpg

    2)依次选中 C2~F2、C3~F3 单元格,设置形态公式,如下表所示:

    单元格公式作用
    C2
    SPLIT(B2, "")将字符拆分为数组
    D2GREPARRAY(C2, item = "A")通过 GREPARRAY( ) 函数筛选指定字符
    E2LEN(D2)通过 LEN( ) 函数来计算数组的长度
    F2LEN(GREPARRAY(SPLIT(B2, ""), item = "A"))整合 C2~E2 公式
    C3CONCATENATE("AA",B3,"-")拼接处理目标字符串
    D3SPLIT(C3,"AA")使用 SPLIT( ) 函数分割字符串
    E3LEN(D3)-2通过 LEN( ) 函数来计算数组的长度
    F3LEN(SPLIT(CONCATENATE("AA",B3,"-"),"AA"))-2整合 C3~E3 公式

    2020-12-28_14-47-46.jpg

    3.2 效果预览

    1)PC端

    保存模板,点击PC端预览,如下图所示:

    2020-12-28_14-35-06.jpg

    2)移动端

    A210E782FA9BB3936FAC8464D9264B10.jpg

    4. 模板下载

    附件列表


    主题: 报表应用
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!