统计满足条件的不同值

如下图5所示,想要得到与列A中字母b相对应的列B中的不同值的数量。

图5

很显然,对应于字母b的不同值为2、aa和3,共3个。使用数组公式:

=SUM(–(FREQUENCY(IF((A4:A12=D4)*(B4:B12″”),MATCH(“~”&B4:B12,B4:B12&””,0)),ROW(B4:B12)-ROW(B4)+1)>0))

这个公式与上面所讲公式的不同点在于,添加了一个AND条件,通过在公式中添加(A4:A12=D4)*来实现。

统计满足条件的唯一值

这个示例与上例相似,只是统计与字母b相对应的唯一值的数量。

图6

很显然,与字母b相对应的行中仅2、aa和3出现1次,因此共有3个唯一值。使用数组公式:

=SUM(–(FREQUENCY(IF((A4:A12=D4)*(B4:B12″”),MATCH(“~”&B4:B12,B4:B12&””,0)),ROW(B4:B12)-ROW(B4)+1)=1))

除了将>0修改为=1外,这个公式与上例中的公式相同。因为我们仅想得到只出现1次的数值的数量。

最大出现的次数

如果想从列表中获取给定值的出现次数,那么可以使用COUNTIF函数。但是如果我们想获得出现最多的值的次数怎么办?

仅数值

如下图7所示,列表中数值1出现了4次,是出现次数最多的数值。

图7

使用公式:

=MAX(FREQUENCY(B4:B12,B4:B12))

公式解析为:

=MAX({4;3;1;0;1;0;0;0;0;0})

得到结果:

文本和/或数值

如下图8所示,出现次数最多的是“aa”和“3”,各出现了2次。

图8

使用数组公式:

=MAX(FREQUENCY(IF(B4:B12″”,MATCH(“~”&B4:B12,B4:B12&””,0)),ROW(B4:B12)-ROW(B4)+1))

最小出现的次数

获得最小出现次数不像获得最大出现次数那么简单,因为FREQUENCY函数对于重复值在数组中返回 0,但我们实际上想要忽略它。

仅数值

如下图9所示,数值3和7仅出现了1次,因此最小出现的次数应该是1。

图9

使用数组公式:

=MIN(IF(FREQUENCY(B4:B12,B4:B12)>0,FREQUENCY(B4:B12,B4:B12)))

公式中,通过>0来解决了FREQUENCY函数针对重复值返回0的问题。公式可以解析为:

=MIN(IF({4;3;1;0;1;0;0;0;0;0}>0,{4;3;1;0;1;0;0;0;0;0}))

进一步解析为:

=MIN({1;1;2;FALSE;1;FALSE;1;2;FALSE;FALSE})

返回结果:

注意,MIN函数忽略逻辑值。

文本和/或数值

如下图10所示,“1”、“2”、“e”和“b”仅出现了1次,因此出现次数最小值是1。

函数frequency实例_frequency函数_函数frequency怎么用

图10

使用数组公式:

=MIN(IF(FREQUENCY(IF(B4:B12″”,MATCH(“~”&B4:B12,B4:B12&””,0)),ROW(B4:B12)-ROW(B4)+1),FREQUENCY(IF(B4:B12″”,MATCH(“~”&B4:B12,B4:B12&””,0)),ROW(B4:B12)-ROW(B4)+1)))

公式可解析为:

=MIN(IF(FREQUENCY({1;2;3;3;5;FALSE;7;8;8},{1;2;3;4;5;6;7;8;9}),FREQUENCY({1;2;3;3;5;FALSE;7;8;8},{1;2;3;4;5;6;7;8;9})))

进一步解析为:

=MIN(IF({1;1;2;0;1;0;1;2;0;0},{1;1;2;0;1;0;1;2;0;0}))

即:

=MIN({1;1;2;FALSE;1;FALSE;1;2;FALSE;FALSE})

得到结果:

所给值最大连续出现的次数

如下图11所示,想要计算给定值1在列表中连续出现的最大次数。

图11

使用数组公式:

=MAX(FREQUENCY(IF(B4:B12=D4,ROW(B4:B12)),IF(B4:B12D4,ROW(B4:B12))))

公式可解析为:

=MAX(FREQUENCY({4;FALSE;FALSE;7;FALSE;FALSE;FALSE;11;12},{FALSE;5;6;FALSE;8;9;10;FALSE;FALSE}))

进一步解析为:

=MAX({1;0;1;0;0;2})

得到结果:

小结

正如上文所见,一旦必须开始处理文本值,FREQUENCY公式就会变得更加复杂且速度变慢。当使用FREQUENCY函数的公式变得冗长、复杂和计算慢时,可以考虑使用VBA自定义函数。

你有一些FREQUENCY函数应用公式可以分享吗?

注:本文学习整理自colinlegg.wordpress.com,供有兴趣的朋友学习参考。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信:11082411

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。