【问题标题】:How to count the occurences of a character while omitting the count of other occurences of the same character preceded by others in google sheets?如何计算一个字符的出现次数,同时忽略谷歌表格中其他相同字符的出现次数?
【发布时间】:2019-05-19 16:33:44
【问题描述】:

如何计算单元格中某个字符的特定出现次数,同时在 google 表格中出现其他特定字符之前忽略相同字符的其他出现次数(仍然保留单元格中以前出现次数)?

我尝试计算前面没有特定字符串 ("Jr.") 的单元格中句点 (".") 的出现次数(忽略字符串 "Jr." 的所有出现次数。 " 同时保留任何其他期间出现的次数。

这是我想要的结果:

我已使用此公式尝试省略“Jr.”。发生,同时仍保持其他期间“。”的计数。单元格中的出现次数(并将每个单元格求和)。

=LEN(D21)-LEN(SUBSTITUTE(SUBSTITUTE(D21,".",""),"<>Jr.",""))

到目前为止,在这篇文章之后: Count specific characters in a cell - Excel

我想出了这个:

它可以计算句点“。”的所有出现次数。在单元格中。

我尝试在公式中添加“不等于”运算符“”,但它不起作用。

=LEN(D21)-LEN(SUBSTITUTE(SUBSTITUTE(D21,".",""),"<>Jr.",""))

我额外寻找的是一种省略“Jr”字符前面的句点计数的方法。

所以在上面的屏幕截图中,它会按照以下屏幕截图返回:

【问题讨论】:

    标签: regex google-sheets array-formulas google-sheets-formula google-sheets-query


    【解决方案1】:

    这个公式对我有用。

    =LEN(SUBSTITUTE(B2,"Jr.","x"))-LEN(SUBSTITUTE(SUBSTITUTE(B2,"Jr.","x"),".",""))

    基本上我们有两个步骤,下面您可以分别查看它们。

    1. 我们替换“Jr.”使用“x”,以便不考虑字符串“Jr.”的出现。

    2. 然后,使用建议的公式计算刚刚创建的字符串的长度,然后在“.”处减去相同字符串的长度。替换为“”。

    【讨论】:

    • 看看@player0 的答案,你当然可以不用担心使用数组公式来复制公式,例如:=ArrayFormula(IF(B2:B="","",LEN(SUBSTITUTE(B2:B,"Jr.","x"))-LEN(SUBSTITUTE(SUBSTITUTE(B2:B,"Jr.","x"),".",""))))。在这种情况下,C2 下方的单元格必须为空白)。另外,我添加了和IF 语句,以便仅将公式应用于B 列中的非空白单元格。要在单元格中插入数组公式,您可以编写主公式IF(...),然后按Control+Shift+Enter。跨度>
    【解决方案2】:
    =ARRAYFORMULA(IF(LEN(A1:A), 
     LEN(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(REGEXEXTRACT(SPLIT(
     SUBSTITUTE(SUBSTITUTE(A1:A, "Jr.", ), ".", "♦."), "♦"), "\."))),,999^99))), " ", )), ))
    


    =ARRAYFORMULA(IF(LEN(A1:A), 
     LEN(SUBSTITUTE(A1:A, "Jr.", "♦"))-
     LEN(SUBSTITUTE(SUBSTITUTE(A1:A, "Jr.", "♦"), ".", )), ))
    

    【讨论】:

    • 嗨@player0 感谢您添加的方式。它很好地了解了数组公式与 if 函数的使用,我将对其进行研究。保重!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2013-02-24
    • 1970-01-01
    • 2017-10-09
    • 2010-11-12
    相关资源
    最近更新 更多