函数技巧10:excel将汉字中间的数字批量+1


这里都是前面两个汉字+两位数字+级的格式,如果都是这样的话那直接用字符处理函数就比较简单。

但如果前面的汉字不一定是几个,而数字也不知道是1位数、两位数还是3位数,只用字符处理函数就不好弄了。

思路就是在初始列中把数字单独拎出来,然后再加1,最后把数字和文字拼起来就成了结果列。


最关键的部分就在于如何把数字取出来,因为没啥规律,数字可能出现在单元格中的任何位置,它本身也可能有好几种情况比如示例的17、10、5、180等等。

那么其实可以把g列也就是初始列,每个单元格的内容全部拆开,然后把数字再拼起来就ok了。

就用专管17级为例,看看这个17是如何被提取出来的,单元格是g2

第一步:生成一个从1到文本长度的序列

这是最关键的准备工作。

这里会用到len()函数和sequence()函数

Len函数把单元格的长度求出来,而sequence()函数返回一个数字序列


把他俩组合起来就可以把生成一个和g2单元格长度一样的数字序列了。

专、管、1、7、级,所以是生成1-5的数组。


第二步:判断每个字符是否为数字

这是逻辑判断的核心。

这一步会用到mid函数、isnumber函数和--

Isnumber函数可以判断一个值是否为数值,是的话返回true,不是的话返回false


前面已经生成数组了,这里用mid函数然后把数组套进去,就可以把g2单元格中的每个数字和汉字取出来。


两个负号--是Excel中一种将文本型数字强制转换为真正数值的常用技巧,上面是用mid函数来拆分的,所以生成的数组都是由文本组成,mid函数本身就是文本处理函数。

所以在mid函数前加两个负号--,就把1和7这两个文本型数字转换成了数值。最后再用isnumber来判断这个数组中的每个元素是否为数值,如果是就赋值true,如果不是就赋值false


第三步:根据判断结果,组建新数组,并且拼接起来

这是最后的部分了

最后一步比较简单,就是要用到if函数和concat函数。

前面已经有了分解公式a:MID(G4,SEQUENCE(LEN(G4)),1)

也有了判断是不是数字的公式b:ISNUMBER(--MID(G4,SEQUENCE(LEN(G4)),1))

那么只要使用if判断,如果b是数字,a就把那个数字显示出来,因为有着同样的数组SEQUENCE(LEN(G4))。如果不是数字,就用空格来替代。


最后再用concat函数拼起来就行了


向下填充,取数就完成了。



把取出来的数值+1,是我们要的每年加一。虽然它们是文本形式,但是用公式加1后会自动变成数值。


最终结果是把汉字再弄回来,这里的话后面接个“级”字就行。前面的职务,还是用mid和find函数。

先用find函数来定位我们取数的位置比如17,在g2单元格里是3,因为17的1在前面,所以相当于用了1进行定位。

然后再用mid函数:= MID(G2,1,FIND(J2,G2)-1)

意思就是说从g2单元格的第一个字符串开始截取,截取的长度是我们用find定位到的长度,但是要减1。

最后把汉字、数字、级拼起来就是了


总结一下,想要实现这个需求分为三步就是取数、+1、再拼接。

关键在于取数,也是分为三步:生成数组序列、判断每个元素是否为数字、把数字连起来。

取数公式:

=CONCAT(IF(ISNUMBER(--MID(G2,SEQUENCE(LEN(G2)),1)),MID(G2,SEQUENCE(LEN(G2)),1),""))

最终结果可以用一个函数实现,不过我这里为了看的方便搞了两个辅助列。


相关文章

excel中如何使用mid函数_excel中如何使用mid函数填写身份证号码对应的出生年月

MID函数是Excel中常用的字符串提取函数,它可以从字符串中指定的位置开始从左往右截取指定的字符个数首先,进入到Excel中后,大家可以自己简单的制作一个素材表格,作为使用MID函数的参考数据接下来...

MID函数怎么用?这五个方法你不能错过

我们在Excel中录入数据的时候,也需要截取表格中的一些数据。这里我们就可以借助MID函数截取表格中的数据。那么MID函数怎么用呢?相信还有很多人不知道。那就仔细看看下面的介绍吧,以后肯定会用的到的...

办公技能(1):Excel 中“Mid()”函数的使用技巧

朋友们可能用过“Left()”函数,那你们知道“Mid()”函数怎么使用吗?今天我们来讲一下这个函数如何在Excel中使用。Mid()函数的含义Mid()函数通常用来截取某个单元格内字符串中,从指定位...

Excel文本提取,必学的5个函数,1分钟学会

学好Excel函数公式,工作效率大幅提升,今天分享5个文本提取,必学的函数公式1、LEFT函数公式它的用法是:=LEFT(文本,数字)表示对文本,向左提取数字个字符。举个例子,我们需要从左边的信息中,...

Excel神技!MID函数5分钟速成:精准提取文本,效率翻倍!

今天我们一起学一下表格强大的文本处理函数,大部分都在用它。MID函数是Excel中非常实用的文本处理函数,它能够从文本字符串中提取指定位置开始的一定数量的字符。之前没有接触过这个函数的,会比较陌生。下...

TEXT函数,一看就会,一用就对_text函数的

小伙伴们好啊,今天咱们通过几个简单的实例,一起来学习TEXT函数的几个典型用法:简单的条件判断下图展示的是某单位员工考核表的部分内容。需要根据考核分数进行评定,85分以上为良好,76分至85分为合格,...