實際工作中,經常會有一些數據需要按照一定的規則進行拆分。以下圖為例,A列是一些會計科目,現在需要将這些會計科目按一級科目、二級科目、三級科目這樣分開。如BCD列中的樣子。
對于數據的拆分,首先需要找出數據的規律。
咱們看A列的數據中,不同的科目之間都是用“/”隔開的。對于這種很有規律的數據源,用分列的方法可以快速的将數據拆分開。
接下來咱們說說具體的步驟:
首先選中A2:A17單元格區域,依次單擊【數據】,【分列】。彈出【文本分列向導第1步共3步】對話框,保留默認選項,單擊【下一步】按鈕。
在彈出的【文本分列向導第2步共3步】對話框中,分割符号複選框中,勾選“其他”,在文本框中輸入數據源中的間隔符号“/”,單擊【下一步】按鈕。
在彈出的【文本分列向導第3步共3步】對話框中,目标區域文本框中輸入=$B$2 ,單擊【完成】按鈕,這樣就快速完成了數據的拆分。
有時候咱們的數據源是不斷變化的,如果每次都要用分列來完成就顯得比較麻煩了。
除了使用基礎操作的方法,還可以使用公式的方法來完成數據分列。
仍然以上面這個數據為例,在B2單元格輸入以下公式,向右、向下複制:
=TRIM(MID(SUBSTITUTE($A2,"/",REPT(" ",99)),COLUMN(A1)*99-98,99))
完成後的效果如圖:
下面咱們簡單說說這個公式的意思:
1、REPT函數的作用是按照給定的次數重複顯示文本,REPT(" ",99)部分也就是" "(空格)重複99次。
2、SUBSTITUTE函數的作用是在文本字符串中用新字符串替代舊字符串。
SUBSTITUTE($A2,"/", REPT(" ",99))的意思是将$A2單元格中的"/"替換成99個空格。
3、COLUMN(A1)*99-98部分,由于COLUMN函數的參數A1使用了相對引用。在公式向右複制時,公式會變成:
COLUMN(B1)*99-98
COLUMN(C1)*99-98….
得到的結果是1,100,199…..這樣的一個遞增序列,作為MID函數的參數。
4、MID 函數用于返回文本字符串中從指定位置開始的特定數目的字符。
MID(SUBSTITUTE($A2,"/", REPT("",99)),COLUMN(A1)*99-98,99)
也就是對SUBSTITUTE($A2,"/", REPT("",99))返回的結果分别從第1位、第100位、第199位開始截取,截取的長度為99個字符長度。
5、TRIM函數用于清除文本中所有的空格,得到相應的科目内容。
公式的運算過程講完了,有小夥伴可能說:在2013或是2016版本還有快速填充功能呢,老祝說,快速填充功能雖然便捷,但是在數據比較複雜的情況下,無法保證百分百的正确,還需要我們目測檢驗,所以咱們今天就不說這個方法啦。
好了,今天的内容就是這些吧,祝小夥伴們一天好心情!
圖文制作:祝洪忠
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!