网站首页 > 开源技术 正文
今天我们来看看萌新小白、套娃宗师、正则教父、代码老炮都是如何解决:字符串字符之间加分隔符的。每一种段位都是大家对Excel运用能力在不同阶段的表现。大家可以对号入座,看看自己属于哪种段位。
如下图所示:
A列为一列任意数据,每个单元格中都有一串字符串。我们想要对每个单元格内各字符之间都加上一个分隔符“-”,效果就像B列那样。
萌新小白
萌新小白的特点是:很执着,不怕费力,就算是干个通宵也要让领导满意。会使用SUM、IF等基础函数,能完成简单加减乘除,但遇到嵌套公式就需要疯狂百度。
萌新小白通常这样做:鼠标双击每个单元格进入编辑状态,用犀利的眼神点击每个字符的交界处,指尖潇洒的按下键盘上的“-”。
面对几千行的数据,简直能直接干到吐血。在致富的道路上,献出了自己宝贵的生命。
套娃宗师
套娃宗师掌握了一定基础的Excel技能,对一些常用的函数组合能够实现独立的运用。熟练VLOOKUP+IF+AND函数组合,还能写出=IFERROR(VLOOKUP(...), "未找到")这类“防呆”公式。用INDEX+MATCH双剑合璧替代VLOOKUP,还能时不时调侃同事的公式太“青铜”。会拆解嵌套公式,像玩解谜游戏一样,每一层嵌套都是新的关卡,最终弄懂每个步骤时成就感超级爆棚。
套娃宗师是这样做的:
首先输入公式:
=ROW($1:$7)
用ROW函数获取1~7行的行号:{1;2;3;4;5;6;7},以数组溢出的形式储存1~7这7个数字。
注意,行号的最大值一定要大于等于A列最长的字符串的长度,为了不每次思考这个问题,我们可以取一个较大值,比如ROW($1:$100),以满足每种可能性。
然后嵌套MID函数:
=MID(A2,ROW($1:$7),1)
在A2字符串中,分别从第1~第7个字符处开始提取,提取1个字符长度的内容,这样A2单元格的每个单独的字符就会分别被提取出来,而超过字符串总长度的部分默认显示空白,最终形成由各独立字符与空白单元格组成的数组溢出结果。
最后嵌套TEXTJOIN函数:
=TEXTJOIN("-",,MID(A2,ROW($1:$7),1))
将上一步分别提取到的各个独立字符,用分隔符“-”,忽略空白单元格后合并至一个单元格显示。
正则教父
正则教父不仅继承了套娃宗师的衣钵,还对正则表达式展现出了严重痴迷的状态。痴迷者倾向于用几个字符的正则代码代替复杂的嵌套公式,甚至陷入“万物皆可正则”的思维模式。这不仅是对正则函数高效性与简洁性的崇拜,更能通过挑战复杂模式,获得异于常人的成就感。
小编还是建议:正则表达式如同编程中的“魔法咒语”,痴迷者需要在自己的能力范围内找到平衡,掌握其精髓而非滥用,才能真正发挥其便利性,使其成为快速解决问题的首选工具。
正则教父是这样做的:
输入REGEXP正则表达式函数(WPS版):
=REGEXP(A2,"(.)",2,"\1-")
(.):匹配任意单个字符(除换行符外)并捕获为分组\1。
\1-:将每个匹配的字符(分组\1)替换为:字符+“-”(\1-)。
我们发现加上分隔符后的字符串末尾多了一个“-”。
继续完善正则表达式部分:
=REGEXP(A2,"(.)(?!$)",2,"\1-")
$:字符串末尾
(?!$):负向零宽断言,确保匹配的字符不在字符串末尾(避免末尾多一个“-”)。
代码老炮
VBA代码老炮,通常表现为对自动化能力的极致追求,甚至将VBA视为解决一切办公问题的“万能钥匙”。使用VBA代码可以高效解决问题并获得成就感,VBA高手常被视为“技术大神”,获得同事依赖和领导赏识。
VBA代码老炮是这样做的:
Alt+F11打开代码编辑器,点击 插入-模块,将下面一段代码复制粘贴到代码编辑框:
Function InsertHyphen(text As String) As String
Dim result As String
Dim i As Integer
For i = 1 To Len(text)
result = result & Mid(text, i, 1)
If i < Len(text) Then result = result & "-"
Next i
InsertHyphen = result
End Function
回到Excel主界面,在B列输入公式:
=InsertHyphen(A2)
下拉填充公式,即可得到全部结果。
猜你喜欢
- 2025-09-04 Python学不会来打我(18)条件语句if/else/elif使用方法与实战场景
- 2025-09-04 IF函数简单,多条件逻辑判断却很难,掌握这五种方法就一通百通了
- 2025-09-04 由浅入深学会IF函数,新手必学!快来学学吧
- 2025-09-04 Excel函数之王IF函数:三步通关复杂决策!
- 2025-09-04 在Excel中,你真的精通 * + 这些吗?
- 2025-09-04 Excel 小白必藏!9 个常用公式覆盖 80% 办公场景,处理数据不费劲
- 2025-09-04 告别加班!这18个Excel/WPS公式让你下午5点准时关电脑
- 2025-09-04 Excel逻辑判断不再头疼:AND和OR你必须会!
- 2025-09-04 千万别说你会IF函数,这些公式,你都不一定全会
- 2025-09-04 [office] Excel if函数用法教程以及使用实例
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)