如何在一个由字母和数字组成的字符串中,提取出最大的数字?
下图中,B3:B5单元格区域内的字符串就是由字母和数字组成,而C3:C5单元格区域内的数字就是我们要提取的,如何用函数公式来实现呢?
![dd863fca32c5867a6e2a9aaeec54d74e.png](https://i-blog.csdnimg.cn/blog_migrate/0a553329dca66bd40d5ac2852e32209d.jpeg)
具体操作步骤如下:
1、选中C3单元格,在编辑栏中输入公式:=MAX(IFERROR(MID(B3,ROW($A$1:$A$25),COLUMN($A$1:$J$1))*1,"")),按住“Ctrl+Shift+Enter”三键结束数组公式,将公式下拉填充至C5单元格即可。
![3d914e331c34e7adb0b15b989da05b06.png](https://i-blog.csdnimg.cn/blog_migrate/4c93fb95bb7297a4824b0274b96b389c.jpeg)
2、动图演示如下。
![3dc5d341ca273270ea6b181e353559a0.gif](https://i-blog.csdnimg.cn/blog_migrate/c1e3520606a44cc8e0e1452fdeeb18c9.gif)
3、公式解析。
①ROW($A$1:$A$25):
该公式的结果返回了一组行号:{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}。
![adecec3eb4c4f0401b69e3b2419ceb32.png](https://i-blog.csdnimg.cn/blog_migrate/49cbe4f696977cbfdca7a32e4f6aa8de.jpeg)
②COLUMN($A$1:$J$1):
该公式的结果返回了一组列号:{1,2,3,4,5,6,7,8,9,10}。
![dc99488fbe8611942176d27f65948f7d.png](https://i-blog.csdnimg.cn/blog_migrate/bed399e6275e8f4964bd70d47f42f0a6.jpeg)
③MID(B3,ROW($A$1:$A$25),COLUMN($A$1:$J$1)):
由①和②可知,公式ROW($A$1:$A$25)和公式COLUMN($A$1:$J$1)返回的结果分别是{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}和{1,2,3,4,5,6,7,8,9,10},代入公式得:MID(B3,{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},{1,2,3,4,5,6,7,8,9,10})。
该公式的意思是:在B3单元格中,从{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}位置开始截取,截取{1,2,3,4,5,6,7,8,9,10}个字符。
该公式返回的结果是:{"a","ab","abc","abc5","abc55","abc554","abc554s","abc554ss","abc554ssf","abc554ssfg";"b","bc","bc5","bc55","bc554","bc554s","bc554ss","bc554ssf","bc554ssfg","bc554ssfg1";"c","c5","c55","c554","c554s","c554ss","c554ssf","c554ssfg","c554ssfg1","c554ssfg12";"5","55","554","554s","554ss","554ssf","554ssfg","554ssfg1","554ssfg12","554ssfg123";"5","54","54s","54ss","54ssf","54ssfg","54ssfg1","54ssfg12","54ssfg123",......}。
![23ef1950fca5dd89fe12e449b87b172e.png](https://i-blog.csdnimg.cn/blog_migrate/361e355c0fa66ee5148e45f214a7c723.jpeg)
④MID(B3,ROW($A$1:$A$25),COLUMN($A$1:$J$1))*1:
将每个字符串乘以1,可以将文本型的数字转成数值型的数字,其它类型的字符串将被转成错误值#VALUE!。
该公式返回的结果是:{#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!;#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!;#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!;5,55,554,......}。
![7c2fbd8333b9869126c3067798ebb978.png](https://i-blog.csdnimg.cn/blog_migrate/af563690845f5050e9682cb054b8e19b.jpeg)
⑤IFERROR(MID(B3,ROW($A$1:$A$25),COLUMN($A$1:$J$1))*1,""):
用IFERROR函数可以将错误值显示为空白,这样就只剩下数字了。
该公式返回的结果是:{"","","","","","","","","","";"","","","","","","","","","";"","","","","","","","","","";5,55,554,"","","","","","","";5,54,......}。
![bb901358558f0ea6d6584d84fdcb7365.png](https://i-blog.csdnimg.cn/blog_migrate/6b9aadf3c9213e6b599e8cf2d579adea.jpeg)
⑥MAX(IFERROR(MID(B3,ROW($A$1:$A$25),COLUMN($A$1:$J$1))*1,"")):
最后用MAX函数可以将一组数据组的最大值给返回。所以,该公式返回的结果为:1005。
好了,今天就跟大家分享到这里,如果您有不懂之处,可以在评论区或私信给小编留言哦~
最后,跟大家推荐一本书:《Excel之光》。
推荐理由:
从新手到进阶一本够用,其中的技巧可以满足职场表格90%的需求。
涵盖财会、hr、销售、行政多个领域,一本职场人的工具之书;
告别乱码和格式错误,拥抱函数和自由;
让你成为表格的主人,而不是让表格控制你的操作;
理论+经典案例双管齐下,前后对比,清晰明了,视频解析一网打尽;
通俗易懂大白话,理解力UP UP!
![4a07cd88a33877b17b807ead32bae1d2.png](https://i-blog.csdnimg.cn/blog_migrate/b1157ba3e281b3a91222ff2a22f17863.jpeg)