首页 > 其他分享 >单元格内的字符串,如何实现每隔N个字符加空格的效果?

单元格内的字符串,如何实现每隔N个字符加空格的效果?

时间:2022-10-14 23:03:12浏览次数:41  
标签:函数 单元格 MID 空格 字符串 个字符



Excel情报局

职场联盟Excel


生产挖掘分享Excel基础技能

Excel爱好者大本营

用1%的Excel基础搞定99%的职场问题

做一个超级实用的Excel公众号

Excel是门手艺玩转需要勇气

数万Excel爱好者聚集地

SUPER EXCEL MAN


单元格内的字符串,如何实现每隔N个字符加空格的效果?_数组

单元格内的字符串,如何实现每隔N个字符加空格的效果?_分隔符_02

    单元格内的字符串,如何实现每隔N个字符加空格的效果?_数组_03



1

职场实例


小伙伴们大家好,今天我们来解决一个后台粉丝的职场Excel办公问题求助,这个小伙伴想要解决的问题是:将单元格内的字符串,实现每隔1个字符加空格,或者是实现每隔2个字符加空格的效果。我们用一个简单的例子来展示一下原始数据及效果数据。


如下图所示:

A列为要操作的原始数据,为一串数字字符,现在我们想要每一个数字之间添加空格,形成C2单元格的效果;或者是每两个数字之间添加空格,形成C3单元格的效果。


单元格内的字符串,如何实现每隔N个字符加空格的效果?_数组_04


解决这个问题,小编推荐大家使用函数的方法可以快速的完成相应的操作。总体思路是

使用MID+ROW函数依次分别提取单元格中的每个数字,以数组的方式存储,然后借助TEXTJOIN函数用空格作为分隔符将其合并连接起来即可。


下面我们就来一步一步的说一下具体的原理及过程。



2

解题思路


TEXTJOIN函数,是一个强大的合并文本函数,通过分隔符,连接所有符合条件的单元格内容和区域。


函数参数说明:

TEXTJOIN(分隔符,忽略空白单元格,字符串1,……)

参数很简单,用自定义的分隔符,忽略空白单元格后,将字符串1,字符串2......等合并起来。


比如我们在B2单元格输入函数公式:

=TEXTJOIN(" ",TRUE,A2:A9)

可以将A2:A9区域中所有的单元格中的数字,通过分隔符空格(注意:引号之间加空格代表以空格作为分隔符),忽略空白单元格后将其合并连接起来。


单元格内的字符串,如何实现每隔N个字符加空格的效果?_字符串_05


但是我们发现TEXTJOIN函数合并的是A2:A9数据区域中所有单元格的内容。而我们今天要解决的问题,其中要合并的所有数据都在一个单元格内,那这可怎么办呢?


其实TEXTJOIN函数第3参数可以使用数组的思维,利用MID函数依次将单元格中的每个数字提取出来1次,然后再用分隔符将其合并起来。


MID函数可以从文本字符串的指定位置开始,根据字符数返回指定的字符串(所有字符的字符个数为1)。


函数参数说明:

=MID(字符串,开始位置,字符个数)

函数很简单,从字符串的某个起始位置开始,截取N个字符长度。


比如说我们要利用MID函数提取单元格字符串中的第1个数字9,可以在B2单元格输入函数公式:

=MID(A2,1,1)


单元格内的字符串,如何实现每隔N个字符加空格的效果?_字符串_06


但是困难又来了,MID函数在这里只能单次提取某个数字,那么如何依次将单元格中的每个数字分别提取出来1次呢?在这里我们要借助ROW函数,通过批量获取行号的方式产生结果作为MID函数的第2参数,实现依次分别提取。


我们在B2单元格继续修改函数公式为:

=MID(A2,ROW(1:10),1)


ROW(1:10)会依次分别返回1~10行的所有行号,用数组的方式存储显示为:

{1;2;3;4;5;6;7;8;9;10}

注意ROW函数的参数最大行号必须大于等于单元格中的字符数量。


MID(A2,ROW(1:10),1)

会分别提取A2单元格字符串中,依次从起始位置第1个至第10个字符位置处开始,分别提取1个字符,用数组的方式存储显示为:

{"9";"8";"2";"6";"7";"8";"5";"6";"";""}


单元格内的字符串,如何实现每隔N个字符加空格的效果?_数组_07


最后我们通过TEXTJOIN函数空格作为分隔符,将数组中

{"9";"8";"2";"6";"7";"8";"5";"6";"";""}的每个元素合并起来即可。


我们继续完善B2单元格中的公式为:

=TEXTJOIN(" ",TRUE,MID(A2,ROW(1:10),1))

最后按Ctrl+Shift+回车键结束公式。可实现将单元格内的字符串,每隔1个字符加空格。


单元格内的字符串,如何实现每隔N个字符加空格的效果?_字符串_08


如果我们想要实现将单元格内的字符串每隔2个字符加空格的效果,只需要从单元格内的第1个字符处、第3个字符处、第5个字符处、第7个字符处开始分别提取2个字符,最后再用TEXTJOIN函数将其合并连接起来即可。


我们只需要将ROW(1:10)整体乘2减1即ROW(1:10)*2-1,可得到下面的数组结果:

{1;3;5;7;9;11;13;15;17;19}


我们继续修改B2单元格中的公式为:

=TEXTJOIN(" ",TRUE,MID(A2,ROW(1:10)*2-1,2))

最后按Ctrl+Shift+回车键结束公式。可实现将单元格内的字符串,每隔2个字符加空格。


单元格内的字符串,如何实现每隔N个字符加空格的效果?_数组_09



回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。


标签:函数,单元格,MID,空格,字符串,个字符
From: https://blog.51cto.com/u_15825298/5758043

相关文章