實際工作中,經(jīng)常會有一些數(shù)據(jù)需要按照一定的規(guī)則進行拆分。以下圖為例,A列是一些會計科目,現(xiàn)在需要將這些會計科目按一級科目、二級科目、三級科目這樣分開。如BCD列中的樣子。
對于數(shù)據(jù)的拆分,首先需要找出數(shù)據(jù)的規(guī)律。
咱們看A列的數(shù)據(jù)中,不同的科目之間都是用“/”隔開的。對于這種很有規(guī)律的數(shù)據(jù)源,用分列的方法可以快速的將數(shù)據(jù)拆分開。
接下來咱們說說具體的步驟:
首先選中A2:A17單元格區(qū)域,依次單擊【數(shù)據(jù)】,【分列】。彈出【文本分列向?qū)У?步共3步】對話框,保留默認選項,單擊【下一步】按鈕。
在彈出的【文本分列向?qū)У?步共3步】對話框中,分割符號復(fù)選框中,勾選“其他”,在文本框中輸入數(shù)據(jù)源中的間隔符號“/”,單擊【下一步】按鈕。
在彈出的【文本分列向?qū)У?步共3步】對話框中,目標(biāo)區(qū)域文本框中輸入=$B$2 ,單擊【完成】按鈕,這樣就快速完成了數(shù)據(jù)的拆分。
有時候咱們的數(shù)據(jù)源是不斷變化的,如果每次都要用分列來完成就顯得比較麻煩了。
除了使用基礎(chǔ)操作的方法,還可以使用公式的方法來完成數(shù)據(jù)分列。
仍然以上面這個數(shù)據(jù)為例,在B2單元格輸入以下公式,向右、向下復(fù)制:
=TRIM(MID(SUBSTITUTE($A2,"/",REPT(" ",99)),COLUMN(A1)*99-98,99))
完成后的效果如圖:
下面咱們簡單說說這個公式的意思:
1、REPT函數(shù)的作用是按照給定的次數(shù)重復(fù)顯示文本,REPT(" ",99)部分也就是將" "(空格)重復(fù)99次。
SUBSTITUTE($A2,"/", REPT(" ",99))的意思是將$A2單元格中的"/"替換成99個空格。
COLUMN(B1)*99-98
COLUMN(C1)*99-98….
得到的結(jié)果是1,100,199…..這樣的一個遞增序列,作為MID函數(shù)的參數(shù)。
MID(SUBSTITUTE($A2,"/", REPT("",99)),COLUMN(A1)*99-98,99)
也就是對SUBSTITUTE($A2,"/", REPT("",99))返回的結(jié)果分別從第1位、第100位、第199位開始截取,截取的長度為99個字符長度。