ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 查找非纯数字文本的最大值

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-10-5 00:32 | 显示全部楼层 |阅读模式
查找最大值.jpg

如图,要在一串字母+点+数字的文本种查找最大值

规则:以小数点(“.”)为分割符号,越靠左且数字越大的为大,比如字母之中A最小,Z最大;
         于是,A.2>A.1.1>A.1>A 依次类推。
因此正确结果应该是D.21

这个函数应该怎么写? 请大神指教,谢谢!

求最大值.rar

6.67 KB, 下载次数: 28

TA的精华主题

TA的得分主题

发表于 2019-10-5 08:34 | 显示全部楼层
=LOOKUP(1,0/(MMULT(--MID(SUBSTITUTE(MID(D3:D23&".00.00.00.00.00",3,99),".",REPT(" ",199)),{1,2,3,4,5}*199-198,199)*10^{12,9,6,3,0},{1;1;1;1;1})=MAX(MMULT(--MID(SUBSTITUTE(MID(D3:D23&".00.00.00.00.00",3,99),".",REPT(" ",199)),{1,2,3,4,5}*199-198,199)*10^{12,9,6,3,0},{1;1;1;1;1}))),D3:D23)

數組, 限制最多五個小數點, 每個小數點間最多999

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-10-5 08:53 | 显示全部楼层
剛看了題意, 2樓可能還不夠完善

"字母之中A最小,Z最大"

這是指B.1 > A.2嗎

TA的精华主题

TA的得分主题

发表于 2019-10-5 09:26 | 显示全部楼层
piny 发表于 2019-10-5 08:53
剛看了題意, 2樓可能還不夠完善

"字母之中A最小,Z最大"

我想是的。
看楼主的说明,ABCD就好比4个等级,最小的D也应该大于最大的A。
刚刚想了个偷鸡的办法,很有局限性,不过针对目前楼主提供的数据,也能解决问题。

=LOOKUP(,0/FREQUENCY(-9^9,-(CODE(D2:D23&0)/1%+IFERROR(0+SUBSTITUTE(MID(D2:D23&REPT(".0",3-(LEN(D2:D23)-LEN(SUBSTITUTE(D2:D23,".",)))),3,9),".",":"),))),D2:D23)

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-10-5 09:50 | 显示全部楼层
=INDEX(D:D,MOD(MAX(CODE(LEFT(D2:D23&0))/1%%%+(0&MID(D2:D23,3,3))/1%%+(0&MID(D2:D23,7,3))/1%+ROW(2:23)),100))

评分

4

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-10-5 10:29 | 显示全部楼层
一般解~~
數組公式:
=INDEX(D:D,RIGHT(MAX(CODE(D3:D23&0)*10^11+MMULT(--(0&TRIM(MID(SUBSTITUTE(D3:D23,".",REPT(" ",99)),{1,2,3}*99,99))),10^{8;5;2})+ROW(3:23)),2))

限最多四個字節, 每個字節最多3個數字


评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-10-5 11:05 | 显示全部楼层
=LOOKUP(1,0/FREQUENCY(-9E+307,-IFERROR(CODE(D3:D22)/1%%%%%+MMULT(TEXT(TRIM(MID(SUBSTITUTE(D3:D22,".",REPT(" ",9)),(COLUMN(A:I)-1)*9+1,9)),"0;;;!0")*10^(9-COLUMN(A:I)),ROW(1:9)^0),)),D3:D22)
三键数组,适用于9个.号,每个点号之间最多8位

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-5 14:13 | 显示全部楼层
piny 发表于 2019-10-5 08:53
剛看了題意, 2樓可能還不夠完善

"字母之中A最小,Z最大"

是的,是这个意思。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-5 14:16 | 显示全部楼层
solextrade 发表于 2019-10-5 09:26
我想是的。
看楼主的说明,ABCD就好比4个等级,最小的D也应该大于最大的A。
刚刚想了个偷鸡的办法,很 ...

谢谢,刚试了下,因为我这个简单例举只是随便手打的几个数出来,所以仅以我提供的这个模版来说是满足的。但实际中有些地方是用的公式给算出来的,对于公式算出来的好像你这个公式就认不出来了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-5 14:43 | 显示全部楼层
准提部林 发表于 2019-10-5 10:29
一般解~~
數組公式:
=INDEX(D:D,RIGHT(MAX(CODE(D3:D23&0)*10^11+MMULT(--(0&TRIM(MID(SUBSTITUTE(D3:D23 ...

非常感谢,但是请问能用非数组的函数么?因为我还要在这上面加其他公式,用数组太复杂,多了之后运行速度慢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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