【问题标题】:Count occurrences of string in a single cell in Google Sheets计算 Google 表格中单个单元格中字符串的出现次数
【发布时间】:2021-05-29 05:31:52
【问题描述】:

我想计算一个字符串在 Google 表格中单个单元格中出现的次数。

如果我有

599^612
600
601^602^604
44^56^71^83^95^107^119^131^402^451^466^478^490^502^514^571^633^648^661^680^746^813^878^945^1010^1069^1100^1131^1161^1226^1247^1258

我想获取每行中 ^ 的计数。

Cell | Count
599^612 | 2
600 | 1
601^602^604 | 3
44^56^71^83^95^107^119^131^402 | 9

我尝试过 find、count 和 countif,但无法解决。还查看了Count the number occurrences of a character in a string,但需要在 Google 表格中找到解决方案。

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    使用:

    =INDEX(IF(A1:A="",,LEN(REGEXREPLACE(""&A1:A, "[0-9]", ))+1))
    

    【讨论】:

      【解决方案2】:

      这可以使用LENSUBSTITUTE 函数轻松完成。

      =LEN(A2)-LEN(SUBSTITUTE(A2, "^", ""))+1
      

      【讨论】:

        【解决方案3】:

        我不知道为什么44^56^71^83^95^107^119^131^402^451^466^478^490^502^514^571^633^648^661^680^746^813^878^945^1010^1069^1100^1131^1161^1226^1247^1258 会在44^56^71^83^95^107^119^131^402 处中断,但你可以像这样计算^

        =arrayformula({A1:A,if(A1:A<>"",iferror(len(regexreplace(A1:A,"[^\^]",""))+1,),)})

        或者只是计数:

        =arrayformula(if(A1:A<>"",iferror(len(regexreplace(A1:A,"[^\^]",""))+1,),))

        【讨论】:

        • 效果很好,但是当我修改它以适应我的结构时,=arrayformula({M2:M,if(M2:M<>"",iferror(len(M2:M)-len(regexreplace(M2:M,"\^","")),)+1,)}) 在将总和值放入下一列之前,我会重复列 M ​​中的值。除了隐藏此列之外,还有什么办法让它不显示?
        • 如果你只想要col2,你可以从{}中删除M2:M,=arrayformula({if(M2:M<>"",iferror(len(M2:M)-len(regexreplace(M2:M,"\^","")),)+1,)})
        猜你喜欢
        • 1970-01-01
        • 2014-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多