+ -
当前位置:首页 → 问答吧 → 统计数组(不是单元区域)中 不重复元素 的个数

统计数组(不是单元区域)中 不重复元素 的个数

时间:2011-08-06

来源:互联网

统计数组(不是单元区域)中 不重复元素 的个数。
-------------------------------------------------------
我们知道,统计单元格区域中不重复的记录,利用countif函数很方便。
问题在于,COUNTIF(range, criteria) 中的 range 只能是单元格区域,不能是数组或者运算的中间结果。
-------------------------------------------------------
比如:
A1    B1    C1    D1    E1    F1
6      15     18    20     21    30
统计其尾数 不重复的个数
尾数可以用 {mod(A1:F1,10)} 得出。
但是 countif 函数,在这儿就用不上了。
------------------------------------------------------
要求:不能添加中间结果,也就是说,不能在另外的单元格中,建立计算的中间数据。
------------------------------------------------------
在自己做彩票统计表格时,经常碰到 统计不重复元素的情况。
有没有高手,写一个简洁明了、逻辑清楚、统计数组中不重复元素个数的VBA?
假如这个VBA模块名字是:TJBCF
那么,在使用的时候,我只要在输入公式:
{=TJBCF(mod(A1:F1,10))}
(统计尾数)
或者:
{=TJBCF(B1:F1-A1:E1)}
(统计邻位间距)
即可

作者: ccccjf   发布时间: 2011-08-06

统计数组中不重复元素个数?就按你的例子函数很方便的,要自定义函数请到VBA板块。
复制内容到剪贴板
代码:
=COUNT(1/FREQUENCY(MOD(A1:F1,10),ROW($1:$9)-1))
统计邻位间距的求法差不多自己整吧。

作者: chunlin1wang   发布时间: 2011-08-06

你的统计结果是错的,逻辑有问题。
假如a1:f1 内容是:
1    11    20    30    32    33
(两组同尾,尾数中有0)
或者:
1    11    12    13    21    31
(同尾号有4个)
你怎么统计?

作者: ccccjf   发布时间: 2011-08-06

楼主是否验证过2楼的公式?根据什么说是错的?

作者: angellbxsc   发布时间: 2011-08-06

引用:
原帖由 ccccjf 于 2011-8-6 12:26 发表
你的统计结果是错的,逻辑有问题。
假如a1:f1 内容是:
1    11    20    30    32    33
(两组同尾,尾数中有0)
或者:
1    11    12    13    21    31
(同尾号有4个)
你怎么统计?
怎么个逻辑错误?说一下你的看法!

作者: 一嘟噜钥匙   发布时间: 2011-08-06

相关阅读 更多