久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

這是一道非常難的文本拆分題目,,據(jù)說只有1%的人可以做出來,!

 EXCEL應(yīng)用之家 2023-07-21 發(fā)布于上海


送人玫瑰,,手有余香,,請將文章分享給更多朋友

動手操作是熟練掌握EXCEL的最快捷途徑!

【置頂公眾號】或者【設(shè)為星標】及時接收更新不迷路



小伙伴們好,,字符串拆分始終是我們遇到的難點之一,。我們學(xué)習(xí)過SUBSTITUTE函數(shù)、LOOKUP函數(shù)和FILTERXML函數(shù)等等都可以實現(xiàn)某些特點的字符串拆分,。今天要想大家分享的這一組公式,,是用來對付那些無規(guī)律的字符串拆分,并可以應(yīng)用于今后類似的問題,。

原題是這樣子的:



怎么樣,,是不是有一種老虎吃天,無從下口的感覺,?在2019版本及以上,、365中有新版函數(shù)可以解決這類問題。如果你還不能使用新版函數(shù),,那么就一定要收藏這一篇推文了,!


01

先來看看如何提取數(shù)字。最基本的思路就是,,我們首先要定位到每一個數(shù)字最左邊的那一個,,然后就可以利用LOOKUP函數(shù)來提取數(shù)字了。



在單元格A6中輸入公式“=IFERROR(LOOKUP(9^9,MID(A$1,SMALL(IF(ISERR(-MID("A"&A$1,ROW($1:$100),1))*ISNUMBER(-MID(A$1,ROW($1:$100),1)),ROW($1:$100)),ROW(A1)),ROW($1:$10))*1),"")”,,三鍵回車并向下拖曳即可,。

思路:

  • ISNUMBER(-MID(A$1,ROW($1:$100),1))部分,將源數(shù)據(jù)中每一個字符都提取出來,,通過“-”這個小技巧后來判斷是否為數(shù)字

  • ISERR(-MID("A"&A$1,ROW($1:$100),1))部分,,在源數(shù)據(jù)最左側(cè)添加一個字符,實現(xiàn)一個位置的錯位。然后同樣是提取,、添加“-”并判斷是否為錯誤值

  • 以上兩部分相乘,,得到的結(jié)果是{1;0;0;0;0;0;0;1;0;0;0;0;0;1;0;0;0;0;1;0;0;0;0;1;0;0;0;0;0;0;0;1;0;0;0;1;0;0;0;1;0;0;0;1;0;0;0;1;0;0;0;0;1;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}。你看,,這些“1”所對應(yīng)的位置正好是每組數(shù)字的第一個位置

  • 接下來利用IF函數(shù)將每一個“1”都返回一個對應(yīng)的自然數(shù),,行成一個序列

  • SMALL函數(shù)依次提取第1、2,、3..小的序列值

  • MID函數(shù)從當前定位點向右提取長度為1,、2、3..個字符串,,例如,,{"3";"33";"331";"331晉";"331晉國";"331晉國大";"331晉國大亂";"331晉國大亂3";"331晉國大亂35";"331晉國大亂35三"}

  • 乘以1后將文本型數(shù)字轉(zhuǎn)換為數(shù)值型數(shù)字

  • LOOKUP函數(shù)的經(jīng)典用法提取到完整數(shù)值


02

數(shù)字部分完成后我們接下來再來看看文字部分。文字部分的公式思路和數(shù)字部分是一致的,,只是在公式書寫上略有不同,。



在單元格B6中輸入公式“=IFERROR(MID(A$1,SMALL(IF(ISNUMBER(-MID("A"&A$1,ROW($1:$100),1))*ISERR(-MID(A$1,ROW($1:$100),1)),ROW($1:$100)),ROW(A1)),MATCH(,0/MID(A$1&9,SMALL(IF(ISNUMBER(-MID("A"&A$1,ROW($1:$100),1))*ISERR(-MID(A$1,ROW($1:$100),1)),ROW($1:$100)),ROW(A1))+ROW($1:$10)-1,1),)-1),"")”,三鍵回車并向下拖曳即可,。

思路:

  • SMALL(IF(ISNUMBER(-MID("A"&A$1,ROW($1:$100),1))*ISERR(-MID(A$1,ROW($1:$100),1)),ROW($1:$100)),ROW(A1))這部分的作用和前面介紹的一樣,,是定位每一個漢字的第一個位置。具體的寫法和前面略有不同,,小伙伴們可以自己分解

  • 定位完成后,,利用0/()這樣的技巧將所有的0值變?yōu)殄e誤值,其余的數(shù)值變?yōu)?值

MATCH(,0/MID(A$1&9,SMALL(IF(ISNUMBER(-MID("A"&A$1,ROW($1:$100),1))*ISERR(-MID(A$1,ROW($1:$100),1)),ROW($1:$100)),ROW(A1))+ROW($1:$10)-1,1),)-1這部分中:

  • SMALL(IF(ISNUMBER(-MID("A"&A$1,ROW($1:$100),1))*ISERR(-MID(A$1,ROW($1:$100),1)),ROW($1:$100)),ROW(A1))部分依次提取第1,、2,、3..小的值,也即每組漢字部分的第一個字的位置

上面的部分確定了MID函數(shù)提取漢字的起始位置,。下面將要確定需要提取的字符串的長度,。

  • MID(A$1&9,SMALL(IF(ISNUMBER(-MID("A"&A$1,ROW($1:$100),1))*ISERR(-MID(A$1,ROW($1:$100),1)),ROW($1:$100)),ROW(A1))+ROW($1:$10)-1,1)部分,隨著SMALL第二參數(shù)ROW(A1)的增大,,依次在每次找到的第一個漢字的位置上開始,,向右依次移動1、2,、3..個字符,,并提取每一個字符。這里A$1&9是為了容錯,,可以使任意一個數(shù)字

  • MID函數(shù)提取后的內(nèi)存數(shù)組中包含當前漢字字符串的第一個位置往后的所有當個字符,。這里就有漢字字符,也有數(shù)字字符

  • MATCH(,0/())部分返回緊接著當前漢字字符串的第一個數(shù)字的位置,,因為比當前漢字字符串多一位,所以最后要減去1,得到當前漢字字符串的長度

  • 接下來,,就是提取,、屏蔽錯誤值了


03

下面給大家提供一個彩蛋。這是一條公式完成,。



在單元格D6中輸入公式“=MID(LEFT($A$1,SMALL(IF(MMULT(--ISERR(-MID($A$1&1,ROW($1:$99)+{0,1},1)),{3;1})=3^(COLUMN(A1)>1),ROW($1:$99)),ROW(A1))),SUM(LEN(C$5:E5),LEN(C6),1),99)”,,三鍵回車并向下拖曳即可。

朋友們可以自己拆解這條公式嗎,?有問題可以私信我哦

本期內(nèi)容練習(xí)文件提取方式:

鏈接:https://pan.baidu.com/s/1Hv163ixqD5OBuG9KRSUkAg?pwd=o2bj

提取碼:o2bj


好了朋友們,,今天和大家分享的內(nèi)容就是這些了!喜歡我的文章請分享,、轉(zhuǎn)發(fā),、點贊和收藏吧!如有任何問題可以隨時私信我哦,!

-END-

長按下方二維碼關(guān)注EXCEL應(yīng)用之家

面對EXCEL操作問題時不再迷茫無助

我就知道你“在看”

推薦閱讀

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多