提取多個不同分隔符之間的字符
?
作者:老菜鳥來源:部落窩教育發(fā)布時間:2023-08-17 22:50:42點擊:1115
提取多個不同分隔符之間的字符,可以將字符串拆分成多列或多行,然后用VLOOKUP或HLOOKUP查找需要的部分。
今天分享提取多個不同分隔符之間的字符實例,如圖所示,需要提取品名中的規(guī)格。
較明顯的規(guī)律:
(1)規(guī)格位于一對括號之間;
(2)規(guī)格包含獨有字符“*”“支”。
思路:
利用括號作分隔符將字符串拆分成多列或者多行,然后通配符查找含“*”或“支”的部分。
譬如,把A2拆分成多列或多行。
公式1:適合365版本
=HLOOKUP("*支*",TEXTSPLIT(A2,{")","("}),1,0)
解析:
公式中用了365中的一個函數(shù)TEXTSPLIT。它有6個參數(shù),當前公式中只用了前兩個參數(shù)將字符串拆分成了多列,然后用HLOOKUP橫向查找。
公式2:高低版本皆可
=TRIM(VLOOKUP("*支*",MID(SUBSTITUTE(SUBSTITUTE(A2,")","("),"(",REPT(" ",99)),(ROW($1:$6)-1)*99+1,99),
1,0))
解析:
串聯(lián)兩個SUBSTITUTE將每個括號替換成99個空格;然后依次從1、100、199、…595處提取99個字符,將字符串拆分成多行。
以上兩種方法非常適合提取多分隔符之間的字符。
當然,本案例還有其他方法,下面拋磚引玉提出一些思路。
思路1
先把年份全部去掉,再提取最后一組括號內(nèi)的內(nèi)容。
思路2
找到關(guān)鍵字符“*”位置,然后減去3個字符后提取11個字符,最后再提取“)”前的字符。
提取“)”前的字符,至少有三種方法:查找后提取、替換后提取、用365的TEXTBEFORE提取。
思路3
找到另一個關(guān)鍵字符“支”,然后用類似思路2的方法進行提取。
注意“支”前的規(guī)格字符數(shù)不等,相差1個字節(jié)(如“70克*35”與“20克*4”),適合用MIDB、LEFTB等函數(shù)提取統(tǒng)一的字節(jié)數(shù)而不是字符數(shù)。
本文配套的練習課件請加入QQ群:902294808下載。
做Excel高手,快速提升工作效率,部落窩教育Excel精品好課任你選擇!
掃下方二維碼關(guān)注公眾號,可隨時隨地學習Excel:
相關(guān)推薦:
版權(quán)申明:
本文作者老菜鳥;部落窩教育享有稿件專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。
最熱教程
- 像綠皮火車一樣長像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集?。ńㄗh收藏)-下篇
- 明明沒有重復,Excel卻判定數(shù)據(jù)重復,這是怎么回事?
- 文本格式的求和,及求和中最容易出現(xiàn)的問題解疑
- 致命缺陷:不懂一維表!
- 函數(shù)組合思維,你有嗎?
- 學會這2個公式,整理考勤數(shù)據(jù)只要一分鐘
- 就算被說是拍馬屁也成,今天你應該這樣發(fā)Excel報表……
- 如何計算Excel單元格中的算式,四種求和方法請收好!