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