昨天看到这样一个问题:
如下图所示,要求提取出派和元中间的数字:
如果是新手,会分别查找派和元的位置,再相减得到中间的字符数,再用MID函数截取。公式有点复杂,公式略。
如果你是老手,你会用lookup函数提取:
=-LOOKUP(,-MID(A2,FIND("派",A2)+1,ROW($1:5)))
兰色还写了一个更简单的:(数组公式,非office365需要3键)
=MATCH(,-FIND("派"&ROW($1:100)/10,A2))/10
如果兰色不解释,上面的公式新手没几个能看得懂,但如果你安装了office365版本,写的公式简直是降维打击:
=TEXTBEFORE(TEXTAFTER(A2,"派"),"元")
公式很好理解,TextAfter函数可以提取派之后的部分,而TextBefore则可以提取元之前的部分。
当你觉得上面两个函数很牛时,它们的大哥textsplit更离谱,相对于老版本公式,用秒杀都不足以表达它有多利害。
【例】如下图所示需要把A列内容根据逗号拆分成多列
=TEXTSPLIT(A2,",")
如果你只想提取中间的某一列,比如提取电话:
=INDEX(TEXTSPLIT(A2,","),2)
注:TEXTSPLIT(A2,",")把字符串拆分成若干段,然后用index提取第2个
甚至倒着提取,比如把省份(倒数第2段)提取出来
=INDEX(TEXTSPLIT(A2,","),COUNTA(TEXTSPLIT(A2,","))-1)
注:Counta(TEXTSPLIT(A2,","))统计拆分后的总个数,-1即是倒数第2个。
如果你感觉上面公式也挺长,兰色就让你看看之前Excel公式高手们写的最短提取公式。
=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",99)),(LEN(A2)-LEN(SUBSTITUTE(A2,",",))-2)*99,99))
兰色说:昨天听说微软要把python整合进excel,这对于数据分析人员当然是好事。但结合前段时间炒的很火的ai进Excel,兰色却觉得给更广大的初级用户多开放些简单又实用的函数,要比这些只适用很少部分人的功能(还要多花钱)更实用些。工作中大部分的实际问题,AI也搞不定的。
领取专属 10元无门槛券
私享最新 技术干货