ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 79094|回复: 162

[分享] 强大的FREQUENCY函数学习过程、探索分析、实例分享(2015-7-19整理更新)~~~~

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2015-6-27 13:04 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:FREQUENCY
本帖最后由 13732120571 于 2015-7-19 15:05 编辑

本来标题想写学习和研究的过程,感觉说大了——花絮
地球人都知道FREQUENCY函数是微软针对数值的分频设定的函数,强大的分频函数
分频规律很简单,也很容易理解
我这个懒人在一次看帖时了解了FREQUENCY可以不用三键
就喜欢上了她~~
在深入学习的过程中,知道了FREQUENCY可以:
数值的简单计频
统计不重复数个数
最大连续次数

…………

也产生了很多的想法
能多条件不重复计数吗
能定位符合条件位置吗
能提取不重复项吗
能多条件提取不重复项吗
能重复指定数量的字符串吗

…………

在我探索中,发现了FREQUENCY虽然不是查找函数
和LOOKUP、MATCH、COUNT、COUNTIF等函数搭档
可以有意想不到的效果。
特别是和LOOKUP搭档,可以实现定位查找功能,功能很是强大。
现在来说,有很多是结果为数值的精华帖子。
文本类的很少,应用也少。
这里着重讲LOOKUP+FREQUENCY套路
FREQUENCY和数值、文本共同的故事



                         目录索引

索引

索引



学习和进阶好去处
知识树(我称之为 智慧树——挂满了智慧果实的树)
特别推荐 星光老师的帖子
HI,来吧,咱们一起来边练边学FREQUENCY!


FREQUENCY实在是太强大了,还没找到他的尽头
现在我把整理的思路和实例放上来大家分享
大家看着好,送{:soso_e163:}{:soso_e163:},我不介意的。
附件再次更新解题思路及加入例题

下载说明: 2015-7-19 整理并更新
XSHX-FREQUENCY .rar (364.96 KB, 下载次数: 8411)











点评

确实有新意,学习收藏!  发表于 2015-6-28 16:47

评分

45

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-6-27 14:02 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-11 23:03 编辑

为了方便观看,一楼开始,把附件慢慢的展出来,请看


FREQUENCY-优点&定义

FREQUENCY-优点&定义




评分

17

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-6-27 14:22 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-11 23:32 编辑

第二篇    单个数值计频

FREQUENCY最最基础--单个数值计频

FREQUENCY最最基础--单个数值计频





评分

6

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-6-28 21:12 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-11 23:40 编辑

第三篇     倒、顺序计频


FREQUENCY——倒、顺序计频

FREQUENCY——倒、顺序计频

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-6-28 21:18 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-12 00:39 编辑

第四篇  最大连续值

FREQUENCY——最大连续值

FREQUENCY——最大连续值


TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 00:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 13732120571 于 2015-8-12 12:08 编辑

第五篇  不重复个数

FREQUENCY——不重复个数

FREQUENCY——不重复个数




TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 00:58 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-12 12:08 编辑

实例篇开始

第六篇   条件最大值例题出处
  友坛竞赛题
【字符争霸】第14期:返回绝对值最大的整数

FREQUENCY-7.png
例题二  条件第二大值
未详细说明,可以自己考虑下
是怎么从条件最大值升级的

FREQUENCY——条件第二大值

FREQUENCY——条件第二大值





评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 00:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 13732120571 于 2015-8-12 12:07 编辑

第七篇   找最接近值           论坛经常有人求助的问题


FREQUENCY——找最接近值

FREQUENCY——找最接近值


TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 13732120571 于 2015-8-12 14:42 编辑

第八篇    单条件提取不重复项&多条件计数1
           例题取自本论坛去重复再加双条件取不重复个数
http://club.excelhome.net/thread-1205185-1-1.htm

FREQUENCY——单条件提取不重复项&多条件计数

FREQUENCY——单条件提取不重复项&多条件计数



说明:《单个数值计频》规律1-变形记
思路:(加权)处理参数一、参数二、参数一与参数二,让参数二不符合条件的值比参数一小,计不到频。
一、去重复                                               
1、        LOOKUP+FREQUENCY+COUNTIF                                        
        1)        COUNTIF(I$8:I8,C$4:C$325) ={0;0;0;……;0}        
                C$4:C$325在I$8:I8区域中的个数,在I$8:I8下拉时,已经提取的客户来源的为1,否则返回0                                
        2)        (A$4:A$325=K$1) ={FALSE;FALSE;……;FALSE;TRUE;……;TRUE;FALSE;……;FALSE}
                A$4:A$325日期是否和K$1的日期一样,是的返回TRUE、不是返回FALSE;在参与加减乘等计算时,TRUE相当于值1、FALSE相当于值0                                
        3)        (A$4:A$325=K$1)-COUNTIF(I$8:I8,C$4:C$325) ={0;0;……;0;1;1;……;1;1;1;0;0;0;……;0}                        
                加权处理:符合A$4:A$325=K$1(TRUE=1)和和未被提取过COUNTIF(I$8:I8,C$4:C$325)=0的结果为:TRUE-0 =1-0 =1                                
                符合A$4:A$325=K$1(TRUE=1)和已经提取过的COUNTIF(I$8:I8,C$4:C$325)=1的结果为:TRUE-1 =1-1 =0                                
                不符合A$4:A$325=K$1(FALSE=0)和未被提取过的COUNTIF(I$8:I8,C$4:C$325)=0的结果为:FALSE-0 =0-0 =0                                
                不符合A$4:A$325=K$1(FALSE=0)和已经提取过的COUNTIF(I$8:I8,C$4:C$325)=1的结果为:FALSE-1 =0-1 =-1(不会出现已经提取过这种情况,所以不用考虑)                                
        4)        FREQUENCY(1,(A$4:A$325=K$1)-COUNTIF(I$8:I8,C$4:C$325)) ={0;0;……0;0;0;1;0;0;……;0}                        
                FREQUENCY 参数一的值1 在 参数二(A$4:A$325=K$1)-COUNTIF(I$8:I8,C$4:C$325)第一个为1 的值并 再相对位置计数为1                                
                如果参数二没有值1,1都大于参数二所有值,那么在参数二多1个的位置计数1。可以用到后续容错处理                                
        5)        0/FREQUENCY(1,(A$4:A$325=K$1)-COUNTIF(I$8:I8,C$4:C$325)) ={#DIV/0!;#DIV/0!;…………;;#DIV/0!}                                
                0/是为FREQUENCY产生的结果计数为1的返回0,计数0的返回错误值#DIV/0!                                
        6)        LOOKUP(,  =LOOKUP(0,                
                参数省略写法lookup参数一的值,实际值为0。        
        7)        )&""               
                把引用的真空单元格落地值变成空文本""                                
        8)        C$4:C5 =C$4:C65536                                
                lookup参数三的扩展性                                
                C$4:C5&"" 不等同C$4:C$65536&""(这个属于数组形式,不是单元格区域,不能扩展)                                
                《lookup向量形式 》扩展性及向量方向问题                                
        9)        LOOKUP(,0/FREQUENCY(1,(A$4:A$325=K$1)-COUNTIF(I$8:I8,C$4:C$325)),C$4:C5)&""  ="内部员工-NC"                                
                用lookup函数用0值定位参数二唯一的0值,并引用参数三现对位置的单元格,用&"" 把引用单元格变成文本 真空单元格的落地值0变成""                                
                一般查找最后值都用lookup(1,0/;经测试,在这个例子中用0比1去查找唯一值0更快,原因未研究出来。                                
2、        LOOKUP+FREQUENCY+MATCH                                       
        思路和COUNTIF一样,就是处理加权的方式有点不一样。这里就不详细解说了                                       
        优点:MATCH相对COUNTIF速度快很多
二、多条件不重复计数                                       
1、        COUNT+FREQUENCY+ROW                                
        1)        MATCH(B$4:B$325&"",B$4:B$325&"",) ={1;2;2;2;2;6;7;8;9;10;10;……;319;319;319;322}                                
                用MATCH函数求B$4:B$325&""分别在B$4:B$325&""位置的值(自然数)。&"" 容错处理,MATCH真空会返回错误值#N/A。                                
        2)        (A$4:A$325=K$1)*(C$4:C$325=J9)   ={0;0;0;0;0;……;0;0;1;1;1;0;0;0;0;1;1;1;1;1;1;0;……;0;0}                                
                日期A$4:A$324等于K$1并且顾客来源C$4:C$324等于J9的返回1,否则返回0                                
        3)        MATCH(B$4:B$325&"",B$4:B$325&"",)*(A$4:A$325=K$1)*(C$4:C$325=J9)   ={0;0;……;0;0;0;32;32;32;0;0;0;0;39;40;41;41;……;0;0}                                
                位置数(自然数)相对符合日期和顾客来源这两个条件的返回原值,否者返回0                                
        4)        ROW(A:A) ={1;2;3;4;5;……;65536}                               
                ROW最小值大于0且ROW最小值小于等于MATCH查找的位置数最小值,ROW最大值大于MATCH查找的位置数                                
        5)        FREQUENCY(ROW(A:A),MATCH(B$4:B$325&"",B$4:B$325&"",)*(A$4:A$325=K$1)*(C$4:C$325=J9))
                             ={0;……;0;32;0;0;0;0;0;0;7;1;1;0;0;3;0;0;0;4;1;0;0;0;4;0;0;……;0;0;65466}                                
                用FREQUENCY函数把ROW(A:A)的值分别在符合条件的位置数上计数,参数二相同的值只计数在第一个出现的值的位置                                
                ROW(A:A)大于参数二所有值的计数在FREQUENCY最后一个多出来的位置(这个位置肯定大于0值)                                
        6)        0/FREQUENCY(ROW(A:A),MATCH(B$4:B$325&"",B$4:B$325&"",)*(A$4:A$325=K$1)*(C$4:C$325=J9))
                        ={#DIV/0!;……;0;#DIV/0!;……#DIV/0!;0;#DIV/0!;0}                                
                FREQUENCY结果出来大于0的为0,等于0的返回错误值#DIV/0!                                
        7)        COUNT(0/FREQUENCY(ROW(A:A),MATCH(B$4:B$325&"",B$4:B$325&"",)*(A$4:A$325=K$1)*(C$4:C$325=J9)))-1  =12                                
                用COUNT忽略错误值、文本统计纯数值个数,这里是统计0值的个数。
                COUNT(……)-1 =减去FREQUENCY结果最后一个多余的计数(多加一个,再减一个)。                                

下面的就当做习题 单条件不重复项
******如何提取不重复的规格?******     
http://club.excelhome.net/thread-1209549-1-1.html     
(出处: ExcelHome技术论坛)     


FREQUENCY——习题

FREQUENCY——习题




TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 13732120571 于 2015-8-23 16:22 编辑

第九篇   提取不重复项&多条件计数2

例题的链接忘了,反正是本论坛的

FREQUENCY——提取不重复项&多条件计数2

FREQUENCY——提取不重复项&多条件计数2



TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:01 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-23 16:16 编辑

第十篇   重复指定数量字符

FREQUENCY-重复指定数量字符

FREQUENCY-重复指定数量字符



TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 13732120571 于 2015-8-23 16:19 编辑

第十一篇   定位提取文本

FREQUENCY-定位提取文本

FREQUENCY-定位提取文本

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:02 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-23 16:22 编辑

第十二篇   定位符合条件位置

FREQUENCY-定位符合条件位置

FREQUENCY-定位符合条件位置


TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:03 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-23 16:26 编辑

第十三篇   多条件优先取值

FREQUENCY-多条件优先取值

FREQUENCY-多条件优先取值



TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 13732120571 于 2015-8-23 16:29 编辑

第十四篇   多条件并分层次取最小值对应项

FREQUENCY-多条件并分层次取最小值对应项

FREQUENCY-多条件并分层次取最小值对应项




TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:04 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-23 16:32 编辑

FREQUENCY运行原理图
补充两个小例题


FREQUENCY-12.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-12 01:04 | 显示全部楼层
本帖最后由 13732120571 于 2015-8-23 16:54 编辑

谢谢大家关注,我的语言组织能力有限,技术也有限,希望大家多多包涵{:soso__3110130392203091378_3:}

如有不足之处希望大家多多指教,谢谢!!{:soso_e163:}{:soso_e163:}{:soso_e163:}{:soso_e163:}{:soso_e163:}{:soso_e163:}{:soso_e163:}{:soso_e163:}
                                                             象山海鲜   2015/8/23  

现在把更新附件放上

XSHX-FREQUENCY .rar (1.02 MB, 下载次数: 669)




评分

5

查看全部评分

TA的精华主题

TA的得分主题

发表于 2015-6-27 14:16 | 显示全部楼层
小鲜老师总算开帖了{:soso_e142:},撒钱撒钱{:soso_e121:}。frequency是稍复杂又冷门的函数,用好的不多,想学他的也不多,大部分人顶多是掌握几个常用套路(好像也真没必要一定要学好它{:soso_e143:}),之前那个帖子,来来去去也就我们几个在玩,最后就是兴趣索然,半途而废。。。{:soso_e127:}。

TA的精华主题

TA的得分主题

发表于 2015-6-27 15:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
留个痕迹~~   {:soso_e165:}frequency想学习好久了~ 谢谢分享
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2015-6-27 16:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
李建军123 发表于 2015-6-27 15:30
留个痕迹~~   frequency想学习好久了~ 谢谢分享

樓主剛剛通知我.我正想通知你呢,結果你比我先到
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2015-6-27 16:12 | 显示全部楼层
心正意誠謝謝象山老師的分享.這個函數你理解得太精辟了.

TA的精华主题

TA的得分主题

发表于 2015-6-27 16:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
mark一下。

TA的精华主题

TA的得分主题

发表于 2015-6-28 16:16 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-6-28 17:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-29 00:00 , Processed in 0.110520 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表