<br>1<br>text <br>2<br>text <br>3<br>
<br>4<br>
<br>5<br>text <br>6<br>text <br>7<br>text <br>8<br>
计算 <br>*<br>
在此表A1:A3中出现的次数的公式是什么?请记住,每个单元格的前面都有一个空格。
总数应为8。=COUNTIF(A1:A3," <br>*<br>")
仅返回3。
编辑:简化了数据,使其更易于阅读
答案 0 :(得分:1)
此Microsoft文档链接可以帮助您尝试实现的多种变体-https://docs.microsoft.com/en-us/office/troubleshoot/excel/formulas-to-count-occurrences-in-excel
要计算子字符串在一系列单元格中的出现次数,可以使用以下方法:
SUM(LEN(range)-LEN(SUBSTITUTE(range,"text","")))/LEN("text")
如果以上方法都不适合您,请尝试以下操作:
数字:
要计算一个单元格中子字符串的出现,可以结合使用excel中的公式来解决问题。
简短答案(只需将您特定的文本或单元格引用插入其中)
=(LEN("original_text")-LEN(SUBSTITUTE("original_text","text_to_count","")))/LEN("text_to_count")
如果您有兴趣,请回答:
=SUBSTITUTE("123331<br>asdsdas <br>","<br>","")
这将用原始字符串123331asdsdas中的空字符串替换所有
出现的
=LEN(SUBSTITUTE("123331<br>asdsdas <br>","<br>",""))
这将返回14,即123331asdsdas的长度。
=LEN("123331<br>asdsdas <br>")
为您提供22。
=LEN("123331<br>asdsdas <br>") - LEN(SUBSTITUTE("123331<br>asdsdas <br>","<br>",""))
,它从原始字符串的长度中减去替换字符串的长度,为您提供8。
(LEN("123331<br>asdsdas <br>") - LEN(SUBSTITUTE("123331<br>asdsdas <br>","<br>","")))/LEN("<br>")
将上述答案从减法中除以原始字符串的长度,得到 2 。
这是一个单元格中
发生的次数。
(length_of_original_string - length_of_substituted_string)/length_of_string_to_find
,在您的情况下,它翻译为(22-14)/4 = 2
。答案 1 :(得分:1)
这似乎是XML / HTML,所以为什么不使用FILTERXML
结构通过XPATH
对其进行解析,以对 不 包含一个空格, 不 为空。例如,您的数据位于A1
中:
=COUNTA(FILTERXML("<t><br>"&SUBSTITUTE(CONCAT(A1:A3),"<br>","</br><br>")&"</br></t>","//br[not(contains(., ' '))][node()]"))
或者当您的有效数据可以容纳空格时,我们将需要过滤掉以空格结尾的内容(然后又是空的):
=COUNTA(FILTERXML("<t><br>"&SUBSTITUTE(CONCAT(A1:A3),"<br>","</br><br>")&"</br></t>","//br[not(substring(., string-length(.), 1)=' ')][node()]"))
但是,如果您要查找的是仅要计数的数字节点,请使用:
=COUNT(FILTERXML("<t><br>"&SUBSTITUTE(CONCAT(A1:A3),"<br>","</br><br>")&"</br></t>","//br[.*0=0]"))
最棒的是FILTERXML
实际上会返回一个数组以进行进一步的分析,在这种情况下,您可以计算数组中的元素。
答案 2 :(得分:1)