怎样在excel中同一个单元格中用公式提取最大值的字母

来源:百度知道 编辑:UC知道 时间:2024/06/04 17:59:31
一个单元格,里面有若干字母和数字,字母为ABCD中的一个或者几个,数字为30以下的自然数;例如:18A3B4C2D、28A3C、2B6C21D,现在要把其中最大的自然数的后面的字母提出来,例如:18A3B4C2D,提取为A,2B6C21D提取为D,不知道自己说明白了没有,谢谢
感谢各位回答问题,特别是shuhua0715,公式完全正确,还有loveruby521 ,提示我是数组公式,要输入完公式按shift+ctrl+回车,公式两边出现大括号才对 ,不然我肯定错了,谢谢所有回答问题的人。
另外,还有个问题,结果出来了,每个人有五个项目,每个项目的等级有ABCD四项,现在要求出每个人的等级的项目个数,比如张三:AABCC,就是2A1B2C,李四:AABBB,就是2A3B,特别要强调的是,结果是先A后B,然后C,最后D的顺序,而不是谁的数目多,谁就在前面,从李四的例子就可以看出来了,询问一下公式,谢谢

pwaters的答案没问题,但可简化:
=MID(A1,FIND(LOOKUP(30,IF(FIND(ROW($1:$30),A1),ROW($1:$30))),A1)+LEN(LOOKUP(31,IF(FIND(ROW($1:$30),A1),ROW($1:$30)))),1)
数组公式。

loveruby521的公式有缺陷,比如不能处理 5A8B

这个excel是无能为力了,因为涉及到了数组的判断和筛选,需要用程序来实现了

假设你的数字字母组合在A列,A1开始
在B1输入:

=MID(A1,FIND(LOOKUP(100,IF(FIND({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30},A1)>0,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30},0)),A1)+LEN(LOOKUP(100,IF(FIND({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30},A1)>0,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30},0))),1)

下拉.

设数据在a1
在b1输入
=MID(A1,LEFT(MAX(LOOKUP(40,--MID(A1,ROW($1:$7),2),{33,44,55,66,77,88,99}),LOOKUP(40,--MID(A1,ROW($1:$9),2),ROW($2:$9))),1),1)

数组公式,输入完公式按shift+ctrl+回车,公式两边出现大括号才对

默认数据长度最大为9位,你可以改

学习来的。
按楼主的例子:
18A3B