ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 看见星光

[分享] HI,来吧,咱们一起来边练边学FREQUENCY!

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-3 12:50 | 显示全部楼层
本帖已被收录到知识树中,索引项:FREQUENCY
本帖最后由 看见星光 于 2014-11-3 13:01 编辑
丢丢表格 发表于 2014-11-3 12:41
是星光老师的出题时,语误。
应把 ”最后” 两个字 改为 ”最大”

丢丢老大,不是最大,是最后。比如一列数据是这样,{4;3;3;3;3;6;"冬天";"夏天";5;0;7;7;7},最大连续次数是3,最后是7。
再比如{2;2;1;2;3;4;5;6;7;8;9;10;11},最后的连续次数,是2。因为只有开头有连续,之后是没有的。

然后我确实有语误,这道题是送分题的意思是,它曾经是一道送分题,而不是我来加技术分,虽然我很想,不过这样子,就破坏了竞赛的版块。
等帖子结束的时候,我得加几分出去,算是系列分,应该是对得起K总的。 坏笑.gif

TA的精华主题

TA的得分主题

发表于 2014-11-3 12:53 | 显示全部楼层
丢丢表格 发表于 2014-11-3 12:41
是星光老师的出题时,语误。
应把 ”最后” 两个字 改为 ”最大”

不对吧,最大连续个数在基础里已经出过,应该不会再重复一次吧

TA的精华主题

TA的得分主题

发表于 2014-11-3 13:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 jacky1998 于 2014-11-4 13:37 编辑
  1. =IFERROR(-LOOKUP(,-TEXT(FREQUENCY(IF(B254:B266<>"",ROW(1:13)),(B254:B265&""<>B255:B266&"")*ROW(1:12)),"[>1]")),)
  2. =RIGHT(MIN(-TEXT(FREQUENCY(IF(B254:B266<>"",ROW(1:13)),(B254:B265&""<>B255:B266&"")*ROW(1:12)),"[>1]"&ROW(1:13)&"00;s")),2)
  3. =-LOOKUP(,IF(ROW(1:13)-1,-TEXT(FREQUENCY(IF(B254:B266<>"",ROW(1:13)),(B254:B265&""<>B255:B266&"")*ROW(1:12)),"[>1]"),))
  4. 不走寻常路,未充分验证:
  5. =TEXT(MAX(--TEXT(FREQUENCY(ROW(1:13),(B254:B265&""<>B255:B266&"")*ROW(1:12))*(B254:B266<>""),"[>1]1-"&ROW(1:13)&" 0:")),"h")
复制代码

陷阱真坑人呀!这样子下去,革命未成命先革,成为先行者可不是好事!第四次修正,想不到女子思路,少女办法来纠错啦,出田出力蛮干呀。
补充一个内存数组解B252:F252,全部修正,最后一行或任意行0值的错误!
  1. =MOD(SMALL(MOD(ROW(1:66)-1,5)/1%%+TEXT(FREQUENCY(IF(B254:F267<>"",ROW(1:14)%+COLUMN(A:E)),(B254:F266&""<>B255:F267&"")*(COLUMN(A:E)+ROW(1:13)%)),"[>1]"&INT((ROW(1:66)-1)/5)&"00;s"),COLUMN(A:E)*13+1),100)
复制代码

frequency (15).rar

70.3 KB, 下载次数: 27

点评

海鲜从03到07都打遍了,出了三个解法。。。。  发表于 2014-11-3 13:36
中计了, 老师的公式没有排除部分为空值的问题。  发表于 2014-11-3 13:22

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-11-3 13:14 | 显示全部楼层
极地飞雪007 发表于 2014-11-3 12:53
不对吧,最大连续个数在基础里已经出过,应该不会再重复一次吧

明白了,是最后出现相同的连续重复值。

TA的精华主题

TA的得分主题

发表于 2014-11-3 13:19 | 显示全部楼层
一开始理解有误,纠正一下=IFERROR(LOOKUP(3^323,(1/(1/TEXT(FREQUENCY(ROW(B254:B266),((B254:B267<>B255:B267)+(B254:B266=""))*ROW(B254:B267)),"[>1];!0")))),0)

点评

我改正的不对,你这个公式思路错了,应该如我楼层的第一个方式!  发表于 2014-11-3 15:07
可以肯定,但是公式结果错误,我帮你改一下。请注意TEXT与IF合并条件的用法: =-IFERROR(LOOKUP(,-TEXT(FREQUENCY(ROW(1:13),IF((B254:B265<>B255:B266)+(B254:B265=""),ROW(1:12))),"[>1]")),)   发表于 2014-11-3 15:02

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-11-3 13:24 | 显示全部楼层
本帖最后由 丢丢表格 于 2014-11-3 13:26 编辑
极地飞雪007 发表于 2014-11-3 13:19
一开始理解有误,纠正一下=IFERROR(LOOKUP(3^323,(1/(1/TEXT(FREQUENCY(ROW(B254:B266),((B254:B267B255:B2 ...

可能是空值不为连吧 。
开始时,我还误解为 最大连续个数呢。

TA的精华主题

TA的得分主题

发表于 2014-11-3 14:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
丢丢表格 发表于 2014-11-3 13:24
可能是空值不为连吧 。
开始时,我还误解为 最大连续个数呢。

那个公式应该没问题,空值已经考虑了

TA的精华主题

TA的得分主题

发表于 2014-11-3 15:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我来加个测试文档
大部分的问题都会测出来了

更新第15题:计算最后连续数值的个数 测试文档.rar

7.95 KB, 下载次数: 37

点评

(D254:D265&""<>D255:D266&"")*ROW(1:12)这样可以规避所有0值的陷阱。  发表于 2014-11-3 17:06
我的公式更新啦,我测试没问题!  发表于 2014-11-3 17:03

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-3 17:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 看见星光 于 2014-11-3 17:18 编辑
13732120571 发表于 2014-11-3 15:45
我来加个测试文档
大部分的问题都会测出来了

怎么连填坑神器都开发出来啦,哈哈。稍晚的时候,可以把老师你的解答贴出来了啦,应该也就我们几个在闹腾。
连续几个晚上2点钟睡觉,精力很不济,努力调整下,唉,人真的老了,前几年,上大学,记录是连续通宵两个星期,仍然神龙活虎的,现在熬几个半夜,人就病恹恹的不行了。 大哭.gif

点评

何出此言,现在人的物质生活丰富,营养严重过剩,估摸着,一个月光喝白开水,照样过得活蹦乱跳的!  发表于 2014-11-3 17:47

TA的精华主题

TA的得分主题

发表于 2014-11-3 20:30 | 显示全部楼层
本帖最后由 13732120571 于 2014-11-3 20:40 编辑
看见星光 发表于 2014-11-3 17:14
怎么连填坑神器都开发出来啦,哈哈。稍晚的时候,可以把老师你的解答贴出来了啦,应该也就我们几个在闹腾 ...
羡慕下丁丁老师的数组内存公式
我的公式在上楼检验的附件后面的V:AA列已经加了

现在再贴下
  1. =MOD(MAX(--TEXT(FREQUENCY(ROW(1:13),(B254:B265&""<>B255:B266&"")*ROW(1:12))*(B254:B266<>""),"[>1]"&ROW(1:13)&"00;!0")),100)
复制代码
  1. =-LOOKUP(1,IF({1,0},,LOOKUP(,-TEXT(FREQUENCY(ROW(1:13),(B254:B265&""<>B255:B266&"")*ROW(1:12))*(B254:B266<>""),"[>1]"))))
复制代码
  1. =-LOOKUP(1,IF(ROW(1:13)<2,,-TEXT(FREQUENCY(ROW(1:13),(B254:B265&""<>B255:B266&"")*ROW(1:12))*(B254:B266<>""),"[>1]")))
复制代码
  1. =IFERROR(-LOOKUP(,-TEXT(FREQUENCY(ROW(1:13),(B254:B265&""<>B255:B266&"")*ROW(1:12))*(B254:B266<>""),"[>1]")),)
复制代码

点评

画龙点睛*(B254:B266<>""),"[>1]"&ROW(1:13)&"00;s")),100)  发表于 2014-11-4 09:40

评分

2

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-5 16:31 , Processed in 0.054413 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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