當前位置: 妍妍網 > 辦公

SortBy+TextSplit,讓Ctrl E 迷崩潰的一個Excel絕妙公式

2024-03-28辦公

SortBy是多條件排序函式,TextSplit是字串拆分函式 (註:這兩個都是新函式,office最新版本和WPS可用。) 。看上去是兩個八桿子夠不著的函式,它們倆有什麽關系?而這又和 Ctrl E ( 快速填充快捷鍵 )有什麽關系?

這要從蘭色昨天看到的一個Excel問題說起:

【問題】如下圖所示,A列是姓名、聯系電話和地址組合在一起的字串,要求把它們分成三列,如右側表格所示。

蘭色把數據貼出來,大家可以粘到表格中練習,貼心吧,嘿嘿。記得在文後幫蘭色點贊和在看哦。

1339999999 張三 江蘇省蘇州市吳江市同裏鎮

揚州市大虹橋路28號;李四;32323290013

18760761715。江蘇省常州市新北區漢江路1號,吳六

無錫市濱湖區靈山路;魏城天,3139000000

江蘇省無錫市山水城旅遊度假區,楊西過 1313154315

中國江蘇蘇州東北街178號。李蘭燕 12121421424

張華;31415364243 蘇州市新區金山路87號

43243263322。江蘇省常州市溧陽天目湖鎮,孟新

21431532555,湖南省芒果市金橋區 周處

張天晴,7886756433,山東省臨沂市

每次蘭色分享字串拆分公式,總有一大批Ctrl E迷留言說為什麽不用Ctrl E。開始蘭色還會說Ctrl E不是萬能的,多學拆分公式會有用的,後來留言太多就懶得解釋了。這次蘭色就試這個能不能用「萬能」鍵解決。

結果是,不行,不行,還是不行!

為什麽Ctrl E不行,原因是內容太雜亂,分隔符也不規則。嘿嘿,還是看看今天的主角表演吧。為了方便同學們理解,蘭色就把公式拆分開來講。

首先用Textsplilt把字元拆分成3列。

=TEXTSPLIT(A2,{" ",";","。",","})

蘭色註 :拆分符可以用一組的哦,放在大括弧內。

最關鍵的問題來了,如何能按姓名、手機號碼、地址順序排序呢?

Excel中有兩個排序函式,SORT和 SORTBY ,這兩個函式的區別是後者 可以讓一個表格依據另外一組數排序 。所以這裏可以選擇Sortby,可排序依據什麽數呢?

嘿嘿,這裏一個冷門函式出現了,它就是 lenb 函式。我們可以用它來計算這3列的字節數,一般情況下姓名最少,手機號碼次之,地址最多。

=LENB(TEXTSPLIT(A2,{" ",";","。",","}))

蘭色註 :那為什麽不用 len 而選擇 lenb ? 這是因為可能地址的字串會少於11位,用lenb可以讓漢字的字節數翻一倍(漢字占2個字節,而數位是1),這樣絕大部份情況下地址字節都會比手機號碼多。

有了排序依據,就可以用 sortby(陣列,排序依據) 排序了。

=SORTBY(TEXTSPLIT(A2,{" ",";","。",","}),LENB(TEXTSPLIT(A2,{" ",";","。",","})))

這裏還可以用let函式簡化公式。

=LET(x,TEXTSPLIT(A2,{" ",";","。",","}),SORTBY(x,LENB(x)))

蘭色說 :透過這個問題,蘭色建議同學們一定要耐下心多學學函式公式,有些捷徑不是萬能的,多學些公式才能讓你的Excel水平有質的提高。

蘭色根據多年經驗,錄制了一全套適合新手和初中級階段使用者學習的Excel教程。包括 Excel表格88個函式用法( 即將更新幾十個新函式 )、119個使用技巧、透視表從入門到精通50集、圖表從入門到精通186集 。( 綠卡會員 有效期內 免費 )詳情點選下方連結