excel提取技巧:單元格部分內容提取的三種方法

問題來自於一位群友的求助,大家請看圖:

數據源在A列,包含了很多項信息,現在需要從中提取出容值、封裝和耐壓三項數據,不難發現,需要提取的數據具有一定的規律性,分別是數據源的第二、三、四個逗號之後的數據。

當我們遇到問題的時候,找到規律是解決問題的關鍵。現在規律找到了,因此解決方法也就有了。這裡有三種方法,從最簡單的快捷鍵操作到經典的吃遍天下的公式都有,以下分別進行介紹。

1.快速填充法(Ctrl+ E)

評價:

優勢:簡單、易用。

劣勢:還沒有發現。

操作要點:

(1)在B2單元格輸入0402時,要先輸入一個單引號,或者把單元格修改為文本格式再輸入;

(2)只輸入一個數據可能無法通過Ctrl+E得到正確結果,這時候連續輸入兩個數據就可以了。

提示:組合鍵Ctrl+ E只能在Excel2013及以上的版本才能使用。

就本例而言,Ctrl+ E略微顯得有些麻煩,因此再介紹一種用分列的處理方法。

2.分列法

評價:☆

優勢:簡單、易用。

劣勢:數據量大了後工作量還是比較重。

操作要點:

(1)分列過程中使用逗號進行分隔;

(2)需要跳過不導入的列;

(3)對容值這列數據設置為文本格式;

(4)手工指定數據存放的目標區域。

相比第一個方法來說,使用分列就簡單了許多,同時通過這個例子,大家也可以對分列這個強大的功能有了深入的了解。

使用分列雖然比較方便,但如果經常要處理這類數據的話,操作量也是蠻大的,最後我們再來分享一個公式的做法。

3. TRIM-MID-SUBSTITUTE-REPT組合公式法

使用公式:=TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",99)),COLUMN(B1)*99,99))

右拉下拉即可得到所需的結果。

評價:☆

優勢:快速,對付大量數據尤其實用,並且可以修改參數用於更複雜的字元提取。

劣勢:公式不好記。

公式解析:

這個公式里用到了五個函數,其中有我們比較熟悉的MID和COLUMN,也有我們不太常用的TRIM、SUBSTITUTE和REPT函數。下面簡單來解釋一下這個公式的思路。

公式的核心部分是SUBSTITUTE($A2,",",REPT(" ",99)),這部分的作用是進行替換。

SUBSTITUTE函數格式為:

SUBSTITUTE(在哪裡替換,替換什麼,換成什麼,換第幾個)

例如:

公式=SUBSTITUTE($A2,",","-",3)的效果就是把A2單元格的第3個逗號換成-號。

當省略第四參數的時候,代表逗號全部替換,如圖:

本例中是把A2中的逗號換成了REPT(" ",99),也就是99個空格。

REPT函數的格式為:

REPT(要重複的字元,重複次數)

例如:

REPT(「」,5),就是將重複五次。

至於公式中為什麼要用99個空格,完全是一種套路,繼續看完公式的其他部分或許就理解了。

使用SUBSTITUTE得到的數據還需要用MID函數來進行提取。MID函數大家應該比較熟悉了,基本格式為:MID(要提取的數據,從什麼位置開始取,取幾個字)。在本例中要提取的數據就是SUBSTITUTE(),而要提取的容值的位置原本是在第2個逗號之後,由於我們把逗號換成了99個空格,要提取的位置前面至少有兩組空格也就是2*99個字元;相應封裝的提取的位置是3*99,耐壓的是4*99。採用公式右拉,所以這裡用COLUMN(B1)*99作為提取位置。MID的最後一個參數是要取幾個字元,為了保險起見,統一提取99個字。

也就是說,經過MID(SUBSTITUTE(),COLUMN(B1)*99,99)這部分公式運算後,得到的結果是我們實際需要的容值數據包含在前後空格中。為了便於大家理解,臨時將空格換成-,可以直觀地看出效果:

我們肯定不希望得到的結果中包含有大量無用的空格,因此在最外層套一個TRIM就可以去掉這些空格。TRIM函數只有一個參數,功能就是去掉字元串中多餘的空格。

本例使用的實際上也是非常經典的一個公式組合:TRIM-MID-SUBSTITUTE-REPT組合。公式理解起來需要一定的基礎,新手暫時無法理解的時候,可以先掌握公式的套路,根據自己的需要修改參數。

閑言妄語:

估計很多小白看不懂這個公式的套路哦~~小編心痒痒,就來現個丑,打個比方——沖水撈死魚。

一堆死魚,密密麻麻,一個靠一個。現在給你一個簍子(MID函數)要你從死魚中把其中的紅魚撈出來。要求是不要碰到其它魚。啷個辦?把魚分開(SUBSTITUTE函數替換逗號增大間距)呀!咋個分開?沖水(加空格)呀,使勁沖水(用99個空格,勁夠大了),魚分開了,然後一簍子就把紅色死魚撈起來了,雖然撈魚的時候水(空格)肯定也會帶上,但水馬上就從網孔(TRIM函數)中漏掉(被排除了)了,只剩需要的紅魚。

為啥用水(空格)而不是其他東西(譬如逗號)來增加間距呀?網孔(TRIM函數)只適合濾水(逗號就濾不走)呀。為啥要衝那麼多水(99個空格)?因為分得越開,越可以忽略其他魚的影響(字元數不等的影響),簍子(MID函數)的口徑(取字元的字元數)就可以越大(99),只需要給一個下簍子的大概位置(並非紅魚的準確位置,由COLUMN(B1)*99實現),就肯定只撈到水和紅魚。

****部落窩教育-excel快速填充****

原創:老菜鳥/部落窩教育(未經同意,請勿轉載)

更多教程:部落窩教育(itblw.com

微信公眾號:exceljiaocheng

推薦閱讀:

TAG:Excel公式 | MicrosoftExcel | 表格 |