情景設定:
對于分離混合數據中的漢字和數字,我們首先設定一個比較常見的情景:當前有一列企業銀行賬號數據,每行數據由一串漢字和一串數字組成,漢字與數字的位數均不固定,要求將漢字和數字分別拆分至兩列。
問題思考:
①對于該類問題大部分人第一反應是使用函數來完成,但這個問題明顯要進行多層嵌套,涉及字符提取/判斷等多種函數,邏輯復雜且適用范圍窄;
②換個思路可以用Ctrl+E快速填充功能來實現,但這個功能只適用于比較簡單的數據提取,當提取規則比較復雜時,出錯概率大大增加;
③分列功能適用范圍更窄明顯無法解決本問題;
④VBA對編程基礎有一定要求不適用于普遍用戶;
Step1.將數據加載到PowerQuery中
全選數據區域,依次點擊“數據”選項卡——“從表格”。
進入PowerQuery界面如下:
Step2.插入自定義列提取銀行名稱和銀行賬號
打開“視圖”選項卡下面的“高級編輯器”,如圖:
在高級編輯器中編寫兩條自定義列的M語句,分別用于提取銀行名稱和銀行賬號,全部代碼如下:
let源=Excel.CurrentWorkbook(){[Name="表1"]}[Content],
更改的類型=Table.TransformColumnTypes(源,{{"企業銀行帳號",typetext}}),
提取銀行名稱=Table.AddColumn(更改的類型,"銀行名稱",eachText.Remove([企業銀行帳號],{"0".."9"})),
提取銀行賬號=Table.AddColumn(提取銀行名稱,"銀行賬號",eachText.Remove([企業銀行帳號],{"一".."龢"}))
in
提取銀行賬號
點擊完成后結果如下:
Step3.將結果返回工作表
點擊“關閉并上載至”,將結果以表的形式返回至工作表中。
「精進Excel」系頭條簽約作者,關注我,如果任意點開三篇文章,沒有你想要的知識,算我耍流氓!