excel如何统计某个字段内所有出现的字段的次数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel如何统计某个字段内所有出现的字段的次数相关的知识,希望对你有一定的参考价值。

举个例子,我对“AAABBACCDBACBD”这个字段进行处理,有没有哪种操作能够一下子让其显示:A出现5次,B出现4次,C出现3次,D出现2次。注意,我在网上看见过用countif计算,但那是对某个字段使用,假如有五十个不同字段,一个一个找太麻烦而且容易漏掉,怎么一下子集中处理?

原始数据区域为A1:A5,每个单元格中包含不同或相同的文本,要根据需求求某个字符或关键字在各单元格文本中出现的次数总和。

首先,求“北京”出现的次数(整个单元格内容等于“北京”)。我们输入公式:
=COUNTIF(A1:A5,"北京")
结果返回1,因为源数据中只有A1单元格整个文本内容是“北京”。

然后,求A1:A5文本中包含“北京”这个关键词的单元格数量。我们输入公式:
=COUNTIF(A1:A5,"*北京*")
结果返回2,因为A1和A3都包含“北京”这个关键词。

最后,求A1:A5个单元格文本中“京”字出现的总次数。我们输入公式:
=SUMPRODUCT((LEN(A1:A5)-LEN(SUBSTITUTE(A1:A5,"京",""))))
结果返回3,因为A1,A3和A4这三个单元格都包含“京”字。如果一个单元格中包含两个“京”字也是会被统计出来的。

下面具体解释一下第4步中的公式用法。
首先看一下SUBSTITUTE()函数。SUBSTITUTE()函数语法是这样的:SUBSTITUTE(源数据,要替换的内容,替换的结果)。比如:SUBSTITUTE(A1,"京","")意思是把A1中的所有“京”字都替换成空。

LEN()函数返回一个文本的长度,比如说LEN(A1)就返回A1的单元格内容是几个字符。

LEN(SUBSTITUTE(A1,"京",""))返回的结果是A1单元格文本将“京”字都替换成空以后的文本长度。

A1单元格原字符长度减去把“京”字替换成空的文本长度,结果就是“京”字在A1单元格文本中出现的总次数。

最后,用SUMPRODUCT函数将A1:A5中各自出现的“京”字次数加和就得到了“京”字在原始A1:A5中出现的总次数。追问

完全在胡扯……

参考技术A

输入以下公式,然后向右填充公式

=LEN($A2)-LEN(SUBSTITUTE($A2,C1,""))

详见附图示例

追问

大神,这样的话怎么统计?

追答

输入以下公式,然后向右填充公式

=LEN(PHONETIC($A$2:$A$15))-LEN(SUBSTITUTE(PHONETIC($A$2:$A$15),C1,""))

追问

大神,你这个ABCD是自己打的吗?还有$A$2:$A$15这是啥范围?什么意思?

追答

A2:A15为需要统计的单元格区域,你的在A1:A14 。
ABCD是自己打的,下面的统计数据是公式生成的。

追问

我要计算公司的叉车型号的月售数量,所以字段会很复杂而且多,如何自动生成ABCD这样的字段,并且统计好呢?

追答

请提供示例截图,方便判断支招!

追问

我只是截取一小部分,如果每个字段都要我自己打的话不是很麻烦吗,还是说可以导出来?

追答

统计什么呢?

在“插入”选项下的“数据透视表”中,生成数据透视表。

追问

就是把这些型号出现的次数统计起来,而且型号的名称希望能自动输入。

追答

“插入”“数据透视表”。

本回答被提问者和网友采纳

一次mongodb 统计需求

需求:

  临下班运营的同事发来了一个需求,要统计数据库里某个collection的所有document 中某个字段(_id)出现的次数。_id 字段的范围是0-4000。

假设collection 是这样:

{
    _id: 123
},
{
    _id: 456
},
{
    _id:123
}

那么最终结果:[{_id: 123, value: 2}, {_id:456, value: 1}] 其实就是个count frequency 的操作

方案:

  粗暴的方法可以遍历所有document 然后累加,但是更好的方式是用mongodb 的mapreduce 操作:https://docs.mongodb.com/manual/core/map-reduce/

db.collection.mapReduce(
    function(){emit(this._id, 1)},
    function(key, values){return Array.sum(values);},
    {query:{...}, out: {inline: 1}}    
)

这里值得一提的是emit 里,value 是1,这样每个document 都是一个1,之后reduce 的时候我们就拿到一个全是1 的数组。

接下来用http://www.cnblogs.com/agentgamer/p/4994650.html 提到的方法,就可以继承到shell 里面,以标准输出的方式交给其他工具使用了,inline 的输出基本是一个json。

以上是关于excel如何统计某个字段内所有出现的字段的次数的主要内容,如果未能解决你的问题,请参考以下文章

excel统计每个数据出现次数 多行多列

EXCEL中统计某个区域内多个数字一共出现的次数

excel怎么统计每个名称出现次数

如何在excel表中统计出不同数据出现的次数?

EXCEL整张表如何统计词语出现多少次

mysql统计某个字段在12个月中出现的次数!这条语句我给怎么写