ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

   
EH云课堂-专业的职场技能充电站 限时送,魔方网表将Excel变在线系统 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 高效办公必会的Office实战技巧 免费下载Excel行业应用视频
300集Office 2010微视频教程 Tableau-数据可视化工具 ExcelHome出品 - VBA代码宝免费下载 13门Excel免费公开课任你学
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 免费的Excel考勤计算系统
楼主: wangg913

[Excel 函数与公式] [第120期]最长连续优良月数[结束]

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-1-23 14:24 | 显示全部楼层
  1. =TEXT(MAX(FREQUENCY(IF(B3:M3<"C",B$2:M$2),(B3:M3>"B")*B$2:M$2)),"[<6]!0")*ISNUMBER(FIND("AAA",PHONETIC(B3:M3)))
复制代码



下面几个公式作为参考:
=TEXT(MAX(MMULT(LARGE((B3:M3>"B")*B$2:M$2,ROW($1:$6)+{0,1}),{1;-1}))-1,"[>5]0;[<0]12;\0")*ISNUMBER(FIND("AAA",PHONETIC(B3:M3)))

=MAX(ISNUMBER(FIND(REPT(1,ROW($6:$12)),SUM((B3:M3<"C")*10^COLUMN(A:L))))*ROW($6:$12))*ISNUMBER(FIND("AAA",PHONETIC(B3:M3)))

=TEXT(MATCH(,0/FIND(REPT(1,ROW($1:$13)-1),SUM((B3:M3<"C")*10^COLUMN(A:L))))-1,"[<6]\0")*ISNUMBER(FIND("AAA",PHONETIC(B3:M3)))

=MAX(ISNUMBER(FIND(REPT("A",ROW($6:$12)),SUBSTITUTE(PHONETIC(B3:M3),"B","A")))*ROW($6:$12))*ISNUMBER(FIND("AAA",PHONETIC(B3:M3)))

评分

参与人数 4财富 +40 鲜花 +6 收起 理由
太阳之子 + 2 优秀作品
丢丢表格 + 1
wangg913 + 40 值得肯定
sayhi95 + 3 优秀作品

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-1-23 22:50 | 显示全部楼层
本帖最后由 dengjq2000 于 2018-1-25 07:55 编辑

不才。
来一个长的(361):

  1. =IFERROR(IF(FIND("AAA",MID(PHONETIC(B3:M3),MATCH(1,FREQUENCY(-9^9,-FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L),))))-MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L)))),TEXT(MAX(FREQUENCY(IF(B3:M3<="B",COLUMN(A3:L3)),IF(B3:M3>"B",COLUMN(A3:L3)))),"[<6]\0"))),MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L))))),)
复制代码


234长
  1. =IFERROR(IF(FIND("AAA",MID(PHONETIC(B3:M3),FIND("BBBBBB",SUBSTITUTE(PHONETIC(B3:M3),"A","B")),MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L)))))),MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L))))),)
复制代码






再来一个短的(177长)

  1. =(COUNT(0/((COUNTIF(OFFSET(A3,,COLUMN(A:G),,6),"<C")=6)*FIND("AAA",PHONETIC(OFFSET(A3,,COLUMN(A:G),,6)))))>0)*MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L))))
复制代码


后面再例几种,只可惜都没能达到题目的字长要求。
293长:
  1. =COUNT(0/(LEN(TRIM(MID(SUBSTITUTE(SUBSTITUTE(PHONETIC(B3:M3),"C","D"),"D",REPT(" ",99)),99*COLUMN(A:G)-98,99)))>5)*FIND("AAA",TRIM(MID(SUBSTITUTE(SUBSTITUTE(PHONETIC(B3:M3),"C","D"),"D",REPT(" ",99)),99*COLUMN(A:G)-98,99))))*MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L))))
复制代码

260长:
  1. =(COUNT(0/((--MID(TEXT(SUM((B3:M3<"C")*10^(12-COLUMN(A:L))),"000000000000"),COLUMN(A:G),6)=111111)*(FIND(111,MID(TEXT(SUM((B3:M3="A")*10^(12-COLUMN(A:L))),"000000000000"),COLUMN(A:G),6)))))>0)*MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L))))
复制代码

227长:
  1. =COUNT(FIND("AAA",MID(PHONETIC(B3:M3),FIND("BBBBBB",SUBSTITUTE(PHONETIC(B3:M3),"A","B")),MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L)))))))*MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L))))
复制代码

223长:
  1. =TEXT(COUNT(FIND(222,MAX(IFERROR(--TRIM(MID(SUBSTITUTE(SUM((B3:M3<{"B";"C"})*10^(12-(COLUMN(A:L)))),"0",REPT("
  2. ",99)),99*COLUMN(A:L)-98,99)),))))*MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L)))),"[<6]\0")
复制代码

200长
  1. =(COUNT(FIND("AAA",PHONETIC(OFFSET(A3,,COLUMN(A:G),,6)))*FIND("BBBBBB",SUBSTITUTE(PHONETIC(OFFSET(A3,,COLUMN(A:G),,6)),"A","B")))>0)*MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L))))
复制代码
  1. =(COUNT(0/(FIND("AAA",PHONETIC(OFFSET(A3,,COLUMN(A:G),,6)))*("BBBBBB"=SUBSTITUTE(PHONETIC(OFFSET(A3,,COLUMN(A:G),,6)),"A","B"))))>0)*MAX(FREQUENCY(IF(B3:M3<"C",COLUMN(A:L)),IF(B3:M3>"B",COLUMN(A:L))))
复制代码





评分

参与人数 3财富 +50 鲜花 +6 收起 理由
wangg913 + 50 优秀作品
sayhi95 + 3 优秀作品
丢丢表格 + 3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-1-25 18:18 | 显示全部楼层
本帖最后由 猜我咯 于 2018-1-25 20:27 编辑

哈哈,猛然发现这个版块,挺有兴趣的~新手,初来乍到(感觉能满足除了那个公式长度小于150的其他条件)

O2可以写下面这个数组公式,然后往下拖就OK了
  1. =IF(MAX(FREQUENCY(IF((B3:M3="A"),COLUMN(B:M)),IF(B3:M3>"A",COLUMN(B:M))))>2,LOOKUP(MAX(FREQUENCY(IF((B3:M3<"C"),COLUMN(B:M)),IF(B3:M3>"B",COLUMN(B:M)))),{0,6,7,8,9,10,11,12}),0)
复制代码




补充内容 (2018-1-29 10:33):
只能编辑一次?我又改了了一版,147字符了~嘿嘿
=LOOKUP(IF(MAX(FREQUENCY(ROW($1:$13),(B3:M3>"A")*COLUMN($A:$L)))>3,MAX(FREQUENCY(ROW($1:$13),(B3:M3>"B")*COLUMN($A:$L)))-1,0),{0,6,7,8,9,10,11,12})

评分

参与人数 1财富 +30 收起 理由
wangg913 + 30 值得肯定

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-1-27 22:24 | 显示全部楼层
本帖最后由 太阳之子 于 2018-2-10 18:24 编辑
  1. =MAX((LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(PHONETIC(B3:M3),ROW($1:$7),G$2:M$2),"AAA",1111,1),"C",),"D",))=G$2:M$2+1)*G$2:M$2)
  2. =MAX(IFERROR(LEN(SUBSTITUTE(BASE(DECIMAL(MID(PHONETIC(B3:M3),ROW($1:7),G$2:M$2),12),12),"AAA",74^8,1)),)-12,)
  3. =MAX(IF(ISERR(FIND("AAA",BASE(DECIMAL(MID(PHONETIC(B3:M3)&A2,ROW($1:7),G$2:M$2),12),12))),,G$2:M$2))
  4. =MAX(IF(ISERR(FIND("AAA",BASE(DECIMAL(MID(CONCAT(B3:M3)&A2,ROW($1:7),G$2:M$2),12),12))),,G$2:M$2))
复制代码
公式4为office365版本


评分

参与人数 9财富 +30 鲜花 +20 技术 +1 收起 理由
ykqrs + 3 优秀作品
Excel实战分享 + 2 优秀作品
wangg913 + 30 + 1 优秀作品
丢丢表格 + 3 优秀作品
红旗雪 + 2 太强大了

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-1-28 10:33 | 显示全部楼层
本帖最后由 龙城飞将III 于 2018-1-28 11:12 编辑

还是太耿直,剩下的交给大神们解决吧,不会因为是文本格式判错吧:
  1. =TEXT(IF(MAX(FREQUENCY(COLUMN(B:N),(B3:M3>"A")*COLUMN(B:M)))<4,,MAX(FREQUENCY(COLUMN(B:N),(B3:M3>"B")*(COLUMN(B:M))))-1),"[<6]!0;0")
复制代码


又去翻了一下海鲜师叔的帖子,嗯,达到要求了:
  1. =TEXT(IF(MAX(FREQUENCY(COLUMN(B:N),(B3:M3>"A")*COLUMN(B:M)))-1<3,,MAX(FREQUENCY(COLUMN(B:N),(B3:M3>"B")*(COLUMN(B:M))))-1),"[<6]!0;0")
复制代码


为啥要舍近求远呢,太傻了我,
  1. =TEXT(IF(MAX(FREQUENCY(IF(B3:M3="A",COLUMN(B3:M3)),IF(B3:M3<>"A",COLUMN(B3:M3))))<3,,MAX(FREQUENCY(IF(B3:M3<="B",COLUMN(B3:M3)),IF(B3:M3>"B",COLUMN(B3:M3))))),"[<6]!0;0")
复制代码

先来一个:
  1. =TEXT(IF(MAX(FREQUENCY(IF(B3:M3="A",COLUMN(B3:M3)),IF(B3:M3<>"A",COLUMN(B3:M3))))<3,,MATCH(13,FIND(REPT(1,ROW($1:$12)),BASE(SUM(IF(B3:M3<="B",2^(12-COLUMN(A3:L3)))),2,12)))),"[<6]!0;0")
复制代码


评分

参与人数 2财富 +50 鲜花 +3 收起 理由
wangg913 + 50 值得肯定
sayhi95 + 3 太强大了

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-1-28 13:33 | 显示全部楼层
=(12-MIN(LEN(SUBSTITUTE(SUBSTITUTE(PHONETIC(B3:M3),"B","A"),REPT("A",G$2:M$2),))))*(LEN(SUBSTITUTE(PHONETIC(B3:M3),"AAA",))<=9)

点评

不知为何,竟然加了60分财富。  发表于 2018-2-12 22:11

评分

参与人数 3财富 +60 鲜花 +3 收起 理由
sayhi95 + 2
丢丢表格 + 1
wangg913 + 60 值得肯定

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-2-1 08:36 | 显示全部楼层
=MAX(ISNUMBER(FIND("AAA",MID(PHONETIC(B3:M3),FIND(REPT("A",COLUMN(F:L)),SUBSTITUTE(PHONETIC(B3:M3),"B","A")),COLUMN(F:L))))*COLUMN(F:L))

评分

参与人数 5财富 +10 鲜花 +9 技术 +1 收起 理由
太阳之子 + 2 优秀作品
wangg913 + 10 + 1 优秀作品
sayhi95 + 3 优秀作品
丢丢表格 + 2 优秀作品
梦幻小丑 + 2 优秀作品

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-2-2 09:15 | 显示全部楼层
本帖最后由 opqazxc 于 2018-2-10 11:07 编辑

  1. =MAX((SUBSTITUTE(SUBSTITUTE(MID(PHONETIC(B3:M3)&1,ROW($1:7),G$2:M$2),"AAA",,1),"A","B")=REPT("B",D$2:J$2))*G$2:M$2)
复制代码

  1. =IFNA(LEN(VLOOKUP("*111*",BASE(MATCH(,-FIND(BASE(ROW(A:A),3,6),CONCAT(CODE(B3:M3)-64))),{3}),1,)),)
复制代码
``




评分

参与人数 4财富 +30 鲜花 +7 技术 +1 收起 理由
太阳之子 + 2 优秀作品
丢丢表格 + 2
wangg913 + 30 + 1 优秀作品
sayhi95 + 3 优秀作品

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-2-3 15:31 | 显示全部楼层
本帖最后由 ykqrs 于 2018-2-4 08:38 编辑
  1. 又认真看了一下,好像头版这道题给我量身定做的一样,正好达标,149.
  2. =COUNT(FIND(REPT("B",15),SUBSTITUTE(SUBSTITUTE(PHONETIC(B3:M3),"AAA",REPT("B",12)),"A","B")))*MAX(FREQUENCY((B3:M3<"C")*B$2:M$2,(B3:M3>"B")*B$2:M$2))
复制代码

=IF(COUNT(FIND(REPT("B",15),SUBSTITUTE(SUBSTITUTE(PHONETIC(B3:M3),"AAA",REPT("B",12)),"A","B"))),MAX(FREQUENCY((B3:M3<"C")*B$2:M$2,(B3:M3>"B")*B$2:M$2)),)
仔细数了数,好像多了四五字

先占个位吧,想不出用公式怎么弄
  1. Sub qq()
  2. Dim reg, r%, c%, arr, i%, S$, mh, mht
  3. r = Cells(Rows.Count, 1).End(xlUp).Row
  4. Set reg = CreateObject("vbscript.regexp")
  5. Range("o3:o" & r) = ""
  6. arr = Range("b3:o" & r)
  7. With reg
  8. .Global = True
  9. .Pattern = "[AB]*?AAA[AB]*"
  10. For i = 1 To UBound(arr)
  11. For c = 1 To 12
  12. S = S & arr(i, c)
  13. Next
  14. If .Test(S) Then
  15. Set mh = .Execute(S)
  16. For Each mht In mh
  17. If Len(mht) > 5 Then arr(i, 14) = Len(mht)
  18. Next
  19. End If
  20. S = ""
  21. Next
  22. End With
  23. Range("b3:o" & r) = arr
  24. End Sub
复制代码

评分

参与人数 4鲜花 +7 技术 +1 收起 理由
太阳之子 + 2 优秀作品
丢丢表格 + 2
wangg913 + 1 优秀作品
sayhi95 + 3 优秀作品

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-2-3 19:37 | 显示全部楼层
本帖最后由 ykytom 于 2018-2-6 11:49 编辑

定义名称N={1,2,3,4,5,6,7,8,9,10,11,12}
O3输入
=ISNUMBER(FIND("AAA",PHONETIC(B3:M3))*FIND("BBBBBB",SUBSTITUTE(PHONETIC(B3:M3),"A","B")))*MAX(FREQUENCY(IF(B3:M3<="B",N),IF(B3:M3>"B",N))) ctrl+shift+enter下拉(138字符)

=ISNUMBER(FIND("AAA",PHONETIC(B3:M3)))*(MAX(FREQUENCY(IF(B3:M3<="B",N),IF(B3:M3>"B",N)))>=6)*MAX(FREQUENCY(IF(B3:M3<="B",N),IF(B3:M3>"B",N))) ctrl+shift+enter下拉(141字符)

=ISNUMBER(FIND("AAA",PHONETIC(B3:M3)))*(MAX(COUNTIF(OFFSET(B3,,{0,1,2,3,4,5,6},,6),"<=B"))>=6)*MAX(FREQUENCY(IF(B3:M3<="B",N),IF(B3:M3>"B",N))) ctrl+shift+enter下拉(143字符,将{0,1,2,3,4,5,6}定义一下名称,可减至129字符)
不定义名称
=ISNUMBER(FIND("AAA",PHONETIC(B3:M3))*FIND("BBBBBB",SUBSTITUTE(PHONETIC(B3:M3),"A","B")))*MAX(FREQUENCY(IF(B3:M3<="B",COLUMN(B:M)),IF(B3:M3>"B",COLUMN(B:M)))) ctrl+shift+enter下拉(158字符,超过150了)
不定义名称
=COUNT(FIND("AAA",PHONETIC(B3:M3)))*(MAX(COUNTIF(OFFSET(A3:F3,,ROW($1:$7)),"<C"))=6)*MAX(FREQUENCY((B3:M3<="B")*COLUMN(B:M),(B3:M3>"B")*COLUMN(B:M))) ctrl+shift+enter下拉(149字符,总算搞定)
将上公式中常量数组定义为名称 N={1,2,3,4,5,6,7,8,9,10,11,12}   M={1,2,3,4,5,6,7}
=COUNT(FIND("AAA",PHONETIC(B3:M3)))*(MAX(COUNTIF(OFFSET(A3:F3,,M),"<=B"))=6)*MAX(FREQUENCY((B3:M3<="B")*N,(B3:M3>"B")*N)) ctrl+shift+enter下拉(121字符,暂时只能到这了)
将上面的"<=B"改为"<C",又能少一个字符
=COUNT(FIND("AAA",PHONETIC(B3:M3)))*(MAX(COUNTIF(OFFSET(A3:F3,,M),"<C"))=6)*MAX(FREQUENCY((B3:M3<="B")*N,(B3:M3>"B")*N)) ctrl+shift+enter下拉(120字符)

评分

参与人数 2财富 +40 鲜花 +2 收起 理由
sayhi95 + 2
wangg913 + 40 值得肯定

查看全部评分

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

本版积分规则

关注官方微信,高效办公专列,每天发车

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

GMT+8, 2019-1-17 00:03 , Processed in 0.128349 second(s), 24 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Wooffice Inc.

   

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

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

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