excel中如何用公式统计a列数据出现的次数

以某数据连续出现的某区域为一个组,只统计该组的次数。如果相同数据在另外的组再现,则重新统计该数据在该组次数。b列为效果,a列为要统计的数据。请问在b列要输入什么公式?谢谢!

第1个回答  2018-03-08
在B2中复制如下公式,并用Shift+Ctrl+Enter确认,下拉即可
=IF(OR(A2="",A2=A3),"",ROW()-MAX(($B$1:B1<>"")*ROW($B$1:B1)))
看不懂的话,追问,我给你解释!追问

ROW
MAX
ROW
请问这些代表什么意思。我也想自己编写。

追答

公式中有四个函数IF OR ROW MAX
IF 条件判断
OR 或
ROW 获取指定单元格或当前单元格的行号
MAX 提取给定区域中的最大值
以B2单元格中的公式为例,意思是:
如果A2单元没有内容(A2="")或者A2单元格的内容与A3相等(A2=A3),那么B2单元格不填任务值(“”),如果前两个条件都不满足,那么就说明,这个位置是一个需要统计的位置,那么怎么统计呢?ROW()-MAX(($B$1:B1"")*ROW($B$1:B1)),就是用当前的行号去减去它上方最近的非空单元格的行号。这个上方最近非空单元格的行号是怎么算出来的呢?你可以看看($B$1:B1"")*ROW($B$1:B1)这段公式在干什么?先看看$B$1:B1"",这是一一比较当前单元格的上一行至B1这个区域中的单元格是否有内容,最后得到一串每个单元格的比较结果(即:True或False),然后拿这个结果与单元格自己的行号相乘。当True参与运算时,其值可以视作1,那么结果就等于行号,当False参与运算时,其值可以视作0,那么结果就等于0,所以,最后的结果非空单元格的行号被记录下来,而空单元的行号变成了0,那么我用MAX函数取出最大值,就取到了当前单元格上方最近的非空单元的行号了。
函数单独的介绍网上有很多,我就不再多说了!你可以自己搜一下,也可以在EXCEL中直接看函数的帮助。我跟你讲一下,网上可能不大讲的内容:函数嵌套
大部分函数都有一个标准的结构“=函数名(参数1)”
当然,有些函数没有参数,有些参数可以不写,最重要的一点是,一个函数的运行结果,也可以作为外层函数的参数。

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