小伙伴們好啊,今天和大家分享一個數據拆分得實例。
先來看數據源:
圖片中得A列是從系統導出得信息,其中包含項目名、分期、標段以及房間號,每一項之間都有一個“-”隔開。
接下來,咱們用不同得方法將這些內容分別拆分到右側各列內,看看這些方法你都會了嗎。
方法一 分列:
分列得優點是各版本均可使用,操作簡單效率高。
缺點是數據源變化后,結果不能自動更新,需要重新分列處理。
方法二 快速填充:
快速填充適合處理規律性比較高得數據,優點是操作便捷,缺點是數據源變化后,結果同樣不能自動更新,需要重新處理。而且在2013以前版本中不可用。
方法三 Power Query:
此方法操作簡單,而且在數據源發生變化或是增加數據后,只要右鍵刷新一下就好,不需要重復操作。
使用Excel 2010或是2013得小伙伴,可以通過安裝Power Query插件實現,2016及以上版本得就是內置功能了。
方法四 函數公式:
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))得到得結果分別從第1位、第100位、第199位開始截取,截取得長度為99個字符。
這樣就相當于是先拉大各項內容得距離,然后手起刀落,得到一些帶有空格得字符。
最后用TRIM函數清除文本中多余得空格,得到相應得科目內容了。
好了,今天分享得內容就是這些吧,祝小伙伴們一天好心情!
圖文作者:張楠 老祝