ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 从字符串中提取数字,看看能不能取得新的突破?(又新增到2题,带有多负号的字串)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-11-11 09:50 | 显示全部楼层
各位:过分去纠缠字符的长短,而不是思路的根本性创新,还有意义吗?

TA的精华主题

TA的得分主题

发表于 2008-11-11 09:49 | 显示全部楼层
原帖由 jackjoness 于 2008-11-11 09:21 发表
http://club.excelhome.net/thread-366042-1-1.html

看看我的求助,大家已给予帮助,和你的有相同地方,对你会有帮助。
希望你去看看,因为公式我不太懂,但我会依葫芦画瓢,所以建议你看看大家的解决方案。

这个还是略有不同的,因为汉字是双字节,直接这样的公式xcd斑竹好像在officefans里出过一道题目,轻舟老师的公式好像是最短的了。链接中的帖子如果混合了其他字符,比如说aabb-/+等等可能就不好用了,特别是英文系统用不了lenb,searchb这样的公式。

TA的精华主题

TA的得分主题

发表于 2008-11-11 09:45 | 显示全部楼层
"-0-1-2-3-4-5-6-7-8-9",赫赫,大家所见略同,我昨天也数这个长度来着:)

TA的精华主题

TA的得分主题

发表于 2008-11-11 09:21 | 显示全部楼层
http://club.excelhome.net/thread-366042-1-1.html

看看我的求助,大家已给予帮助,和你的有相同地方,对你会有帮助。
希望你去看看,因为公式我不太懂,但我会依葫芦画瓢,所以建议你看看大家的解决方案。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-11-11 09:07 | 显示全部楼层
原帖由 wddn 于 2008-11-11 08:38 发表
这是初步精简34楼的公式:
=MID(A3,MIN(FIND({"","-"}&ROW($1:$10)-1,A3&TEXT(5^18,REPT("-0",14)))),1+COUNT(-MID(A3,ROW($1:$99),2)))
是数组公式,还是很长。

wddn大师兄:
       将"TEXT(5^18,REPT("-0",14))"替换成"-0-1-2-3-4-5-6-7-8-9"可减少2个字符,原来我也是用"TEXT(5^18,REPT("-0",14))"这个的,没想到直接用"-0-1-2-3-4-5-6-7-8-9"字符串更短.

TA的精华主题

TA的得分主题

发表于 2008-11-11 08:38 | 显示全部楼层
这是初步精简34楼的公式:
=MID(A3,MIN(FIND({"","-"}&ROW($1:$10)-1,A3&TEXT(5^18,REPT("-0",14)))),1+COUNT(-MID(A3,ROW($1:$99),2)))
是数组公式,还是很长。

TA的精华主题

TA的得分主题

发表于 2008-11-11 08:22 | 显示全部楼层
惭愧,这是Wddn兄的杰作阿

TA的精华主题

TA的得分主题

发表于 2008-11-11 08:32 | 显示全部楼层
原帖由 shaowu459 于 2008-11-11 08:22 发表
惭愧,这是Wddn兄的杰作阿


太客气了,shaowu459兄已经有了创新和突破,我等学习了。
昨天只是想到EXCEL2007有新函数,就试用了一下,没有多想地将公式再编写成EXCEL2003的形式。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-11-10 20:30 | 显示全部楼层
原帖由 shaowu459 于 2008-11-10 17:28 发表
=MID(A1,MIN(FIND({"","-"}&ROW($1:10)-1,A1&"-"&1-ROW($1:10))),1+COUNT(-MID(A1,COLUMN(1:1),2)))
93字符,不知道对不对了都

师兄公式太精彩,惊叹呀!精彩得惊天动地,让神仙也汗颜.并建议版主给予评分鼓励!

TA的精华主题

TA的得分主题

发表于 2008-11-11 11:03 | 显示全部楼层
原帖由 wshcw 于 2008-11-11 09:07 发表

wddn大师兄:
       将"TEXT(5^18,REPT("-0",14))"替换成"-0-1-2-3-4-5-6-7-8-9"可减少2个字符,原来我也是用"TEXT(5^18,REPT("-0",14))"这个的,没想到直接用"-0-1-2-3-4-5-6-7-8-9"字符串更短.


重要的是,这样的写法更高效,刚才并未细算字符数目。
大师兄一说,不敢当,再说我注册日期也稍晚一些。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 06:55 , Processed in 0.040070 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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