ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[Excel 函数与公式] [第61期]列出所有最长字符串

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-6-11 10:38 | 显示全部楼层
没有多行最值的好办法,导致公式过长,先占个位吧。
=""&INDIRECT("A"&SMALL(IF(MMULT(-(CODE(MID(A$1:A$8&REPT(" ",256),COLUMN(1:1),1))=CODE(RIGHT(" "&A$1:A$8,COLUMN(1:1)))),ROW($1:$256)^0)-LEN(A$1:A$8)%=MIN(MMULT(-(CODE(MID(A$1:A$8&REPT(" ",256),COLUMN(1:1),1))=CODE(RIGHT(" "&A$1:A$8,COLUMN(1:1)))),ROW($1:$256)^0)-LEN(A$1:A$8)%),ROW($1:$8),9),ROW()))
三百个字符,汗死。

这种公式应该不算吧?
=""&INDIRECT("A"&RIGHT(SMALL(IF(COLUMN(A:B)<2,MMULT(-(CODE(MID(A$1:A$8&REPT(" ",256),COLUMN(1:1),1))=CODE(RIGHT(" "&A$1:A$8,COLUMN(1:1)))),ROW($1:$256)^0)-LEN(A$1:A$8)%-ROW($1:$8)%%,-255.999-MAX(LEN(A$1:A$8))%),ROW())))
如果最长字符中没有对称的就出错了。

解不出了,先把附件上传吧。

[ 本帖最后由 dengyf 于 2010-6-21 09:15 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2010-6-11 13:11 | 显示全部楼层
2、列出所有最长且对称的字符串,区分大小写
具体的说,首先是字符数最大,然后是对称,

是对称中的最长,还是最长中的对称,上下语意不一致呀

TA的精华主题

TA的得分主题

发表于 2010-6-14 18:25 | 显示全部楼层
=OFFSET(A1,SMALL(IF((MMULT(--EXACT(LEFT(RIGHT(A$1:A$8,ROW(1:8)^0*COLUMN(A:BH))),MID(A$1:A$8&REPT(LEFT(A$1:A$8),60),ROW(1:8)^0*COLUMN(A:BH),1)),ROW(1:60)^0)=60)*(MOD(LEN(A$1:A$8),2)=0),ROW($1:$8),9),ROW())-1,)&""

TA的精华主题

TA的得分主题

发表于 2010-6-19 14:29 | 显示全部楼层
虽然题目是我想出来的,但是公式的长度离wddn版主的要求差的很远,惭愧呀。
多单元格数组公式:
=INDEX(A:A,SMALL(IF(MAX(-MMULT(FIND(MID(A1:A8,COLUMN(1:1),1),RIGHT(A1:A8,COLUMN(1:1))&A1:A8)-1,ROW(1:256)^0)+LEN(A1:A8))=-MMULT(FIND(MID(A1:A8,COLUMN(1:1),1),RIGHT(A1:A8,COLUMN(1:1))&A1:A8)-1,ROW(1:256)^0)+LEN(A1:A8),ROW(),9),ROW()))&""

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2010-6-20 18:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

=INDEX(A:A,SMALL(IF((MAX((MMULT(FIND(MID(A1:A8,COLUMN(A:AD),1),RIGHT(A1:A8,COLUMN(A:AD))&A1:A8),ROW(1:30))=465)*LEN(A1:A8))=LEN(A1:A8))*(MMULT(FIND(MID(A1:A8,COLUMN(A:AD),1),RIGHT(A1:A8,COLUMN(A:AD))&A1:A8),ROW(1:30))=465),ROW(1:8),9),ROW()))&""
学习

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-23 13:50 | 显示全部楼层
近日在进修,不大上论坛了,今日看到好多积极参与的会员,很高兴,感谢你们,我会尽快评分的!

TA的精华主题

TA的得分主题

发表于 2010-6-23 16:27 | 显示全部楼层
功底差,200字符的函数,学习一下。
不是已经到期了吗?不能看到?

TA的精华主题

TA的得分主题

发表于 2010-6-25 08:04 | 显示全部楼层
汗,就差临门一脚哦,现在回贴来得及不?,不敢在原贴编辑了,不过这种答案也太取巧了吧?
""&INDIRECT("A"&RIGHT(LARGE(IF(COLUMN(A$1:H$8)>7,LEN(A$1:A$8)%+ROW($1:$8)%%,(LEN(A$1:A$8)-0.1)%)-MMULT(-(CODE(MID(A$1:A$8&REPT(" ",256),COLUMN(1:1),1))=CODE(RIGHT(" "&A$1:A$8,COLUMN(1:1)))),ROW($1:$256)^0),ROW())))
214个字符

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-29 14:37 | 显示全部楼层
本期题目由于没有思想准备,过程很仓促,说明文字也很糟,且网页上和附件中的说明没有统一,正巧最近很忙的原因。
今评分以1楼帖子的网页说明为正,在最长的字符串中找出对称的,实事求是的说在对称的字符串找出最长的,公式要难一些。
下面是初步的评分结果,大家可以看看,欢迎提出意见和建议:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2010-6-30 13:24 | 显示全部楼层
14楼贴的公式有问题,还是看附件里的另一个公式吧,希望版主尽快开放权限好看到更精彩的公式

[ 本帖最后由 donghan 于 2010-6-30 13:26 编辑 ]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-26 15:01 , Processed in 0.037534 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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