Excel的函數有400多個,真正常用的50多個,而常有的文本處理類函數也不多,不是因為文本類處理簡單,而是Excel真的有點擠牙膏式的每個版本更新那麼幾個小函數,普通用戶等得急切,但實際上這些小函數,自己用自定義函數實現一下,還比官方的更好用。本篇再次對文本處理類函數做了擴展,更方便文本處理。部分函數高級用戶其實使用正則處理類函數體驗更佳。
文章出處說明原文在簡書上發表,再同步到Excel催化劑微信公眾號或其他平臺上,文章後續有修改和更新將在簡書上操作, 其他平臺不作同步修改更新,因此建議閱讀其他出處的文章時,儘可能跳轉回簡書平臺上查看。
文本處理函數在Excel2016中提供了一個TEXTJOIN的文本函數,好多Excel群友時不是就冒一句說要找這個函數,Excel像擠牙膏一樣,這麼多年來,拖到2016版才發布這麼一個小白級別的函數,也只是醉了,這樣的功能,隨便一個VBA學習者都能寫得出來。當然今天Excel催化劑也有此功能的函數,但比Excel2016提供的原生功能更好用,想得更遠。
一般DotNet程序猿可以使用大量微軟團隊寫好的函數,但Excel用戶卻沒這樣的福氣,Excel催化劑也當搬運工,把這些DotNet的文本處理類函數搬到Excel環境中,供普通大眾來使用。
文本處理函數清單同時因一般普通用戶使用正則處理函數,特意重新封裝了常用的擷取替換函數
文本提取替換函數清單StringJoin函數對標原生Excel2016中提供的TEXTJOIN函數
特別加上最後一個參數,可以包圍每個拼接的字符串項,在寫SQL語句時的IN條件時,經常會用到單引號包圍著字符串項的效果。
一般在各種文章、書籍中都有介紹類似VLOOKUP的查找引用功能,但需要一對多的查找方式,返回多個值。各種複製套路流傳著,其實更好的方式是返回的多值放到一個單元格裡,故開發了類似SUMIF的聚合函數效果,只是此時聚合的是字符串,結果是字符串拼接在一起返回。
StringJoinIf函數用法示例StringJoinIf函數參數TextSplit前面是拼接字符串,此函數相反是拆分字符串,TextSplit返回一個值,返回的值由最後參數控制,
TextSplits返回所有值,返回結果可按行或按列排列。
切割字符串可以是單個也可以是多個,多個時中間用逗號隔開或者直接引用多個切割符號對應的單元格(連續單元格區域)
函數具體的效果如下:
從DotNet裡把現有的文本處理函數作了簡單封裝拿到Excel中來。
分別對常用的數字、中文、英文作了單獨的函數封裝,在第25波的文本處理功能時也有過相應的實現,不過那不是自定義函數,對原始數據有破壞作用,一般建議用函數新開一列來處理數據更為合適。
提取替換函數示例這裡特別增加兩個指定提取和指定替換功能,方便部分需要指定特定字符的功能時使用。
其中較為特別的是MatchString這個匹配文本。
中間用逗號可指定多個文本,逗號間又區分了只有一個字和多個字的情況。
只有一個字時,如下圖中的 」中「,」f「。
只要出現過這一個字即可,多個一個字時可排列組合出多個匹配結果,如A,B,C三個單個的字符,可以匹配A/AB、AC、ABC、ACB、B、BC、BA、BAC、BCA、C、CA、CB、CAB、CBA等結果
多個字符一起時,如下圖中的「美國」
僅匹配此多個字符的完整匹配,如ABC,BC的MatchString,僅對源文本中的ABC和BC兩項匹配。
一口氣發布了眾多的文本處理函數,可想而知,日常文本處理過程的繁雜程度,函數越多,效率越高。較Excel的擠牙膏式的新增函數速度,不要想有多大的提升空間。同時依賴Excel版本而有的函數,在文件共享時也存在較大問題,用自定義函數的話,幾乎沒有此後顧之憂,同時可實現更為靈活的使用。希望本篇的函數能夠幫助各位在數據處理特別是在文本處理能力上更上一層樓。
系列文章一文帶你全面認識Excel催化劑系列功能
安裝過程詳解及安裝失敗解決方法
第1波-工作表導航
第2波-數字格式設置
第3波-與PowerbiDesktop互通互聯
第4波-一大波自定義函數高級應用,重新定義Excel函數的學習和使用方法
第5波-使用DAX查詢從PowerbiDeskTop中獲取數據源
第6波-導出PowerbiDesktop模型數據字典
第7波-智能選區功能
第8波-快速可視化數據
第9波-數據透視表自動設置
第10波-快速排列工作表圖形對象
第11波-快速批量插入圖片
第12波-快速生成、讀取、導出條形碼二維碼
第13波-一鍵生成自由報表
第14波-一鍵生成零售購物籃分析
第15波-接入AI人工智慧NLP自然語言處理
第16波-N多使用場景的多維錶轉一維表
第17波-批量文件改名、下載、文件夾創建等
第18波-在Excel上也能玩上詞雲圖
第19波-Excel與Sqlserver零門檻交互-查詢篇
第20波-Excel與Sqlserver零門檻交互-數據上傳篇
第21波-Excel與Sqlserver零門檻交互-執行SQL
第22波-Excel文件類型、密碼批量修改,補齊Power短板
第23波-非同一般地批量拆分工作表
第24波-批量發送郵件並指點不同附件不同變量
第25波-小白適用的文本處理功能
第26波-正確的Excel密碼管理之道
第27波-Excel工作表設置快捷操作
第28波-工作薄瘦身,安全地減少非必要冗餘
第29波-追加中國特色的中文相關自定義函數
第30波-工作表快捷操作(批量創建、命名、排序、工作表目錄)
第31波-數量金額分組湊數功能,財務表哥表姐最愛
第32波-空行空列批量插入和刪除
第33波-報表形式數據結構轉標準數據源
第34波-提取中國身份證信息、農曆日期轉換相關功能
第35波-Excel版最全單位換算,從此不用到處百度找答案
第36波-新增序列函數用於生成規律性的循環重複或間隔序列
第37波-把Sqlserver的強大分析函數拿到Excel中用
第38波-比Vlookup更好用的查找引用函數
第39波-DotNet版的正則處理函數
第40波-工資、年終獎個人所得稅計算函數
第41波-文件文件夾相關函數
第42波-任意字符指定長度隨機函數
Excel催化劑先是一微信公眾號的名稱,後來順其名稱,正式推出了Excel插件,插件將持續性地更新,更新的周期視本人的時間而定爭取一周能夠上線一個大功能模塊。Excel催化劑插件承諾個人用戶永久性免費使用!
Excel催化劑插件使用最新的布署技術,實現一次安裝,日後所有更新自動更新完成,無需重複關注更新動態,手動下載安裝包重新安裝,只需一次安裝即可隨時保持最新版本!
Excel催化劑插件下載連結:https://pan.baidu.com/s/1kDtFkM5KZ4R1lAO0TO07AA
因插件使用VSTO開發技術完成,插件的安裝需要電腦滿足相關的環境配置才能運行,且需可連接外網的方式實現自動更新機制,若下載安裝過程中有任何疑問或需要離線版安裝等,儘量不單獨私聊詢問,加QQ群可高效解決(群內已匯集了VSTO開發、Powerbi技術、Sqlserver商業智能等方面的國內頂尖大牛人物,進群的好處不用多說了)
取名催化劑,因Excel本身的強大,並非所有人能夠立馬享受到,大部分人還是在被Excel軟體所虐的階段,就是頭腦裡很清晰想達到的效果,而且高手們也已經實現出來,就是自己怎麼弄都弄不出來,或者更糟的是還不知道Excel能夠做什麼而停留在不斷地重複、機械、手工地在做著數據,耗費著無數的青春年華歲月。所以催生了是否可以作為一種媒介,讓廣大的Excel用戶們可以瞬間點燃Excel的爆點,無需苦苦地掙扎地沒日沒夜的技巧學習、高級複雜函數的燒腦,最終走向了從入門到放棄的道路。
最後Excel功能強大,其實還需樹立一個觀點,不是所有事情都要交給Excel去完成,也不是所有事情Excel都是十分勝任的,外面的世界仍然是一個廣闊的世界,Excel只是其中一枚耀眼的明星,還有其他更多同樣精彩強大的技術、工具等。*Excel催化劑也將借力這些其他技術,讓Excel能夠發揮更強大的爆發!
關於Excel催化劑作者姓名:李偉堅,從事數據分析工作多年(BI方向),一名同樣在路上的學習者。
服務過行業:零售特別是鞋服類的零售行業,電商(淘寶、天貓、京東、唯品會)
技術路線從一名普通用戶,通過Excel軟體的學習,從此走向數據世界,非科班IT專業人士。
歷經重重難關,終於在數據的道路上達到技術平原期,學習眾多的知識不再太吃力,同時也形成了自己的一套數據解決方案(數據採集、數據加工清洗、數據多維建模、數據報表展示等)。
擅長技術領域:Excel等Office家族軟體、VBA&VSTO的二次開發、Sqlserver資料庫技術、Sqlserver的商業智能BI技術、Powerbi技術、雲伺服器布署技術等等。
2018年開始職業生涯作了重大調整,從原來的正職工作,轉為自由職業者,暫無固定收入,暫對前面道路不太明朗,苦重新回到正職工作,對Excel催化劑的運營和開發必定受到很大的影響(正職工作時間內不可能維護也不可能隨便把工作時間內的成果公布於外,工作外的時間也十分有限,因已而立之年,家庭責任重大)。
和廣大擁護者一同期盼:Excel催化劑一直能運行下去,我所惠及的群體們能夠給予支持(多留言鼓勵下、轉發下朋友圈推薦、小額打賞下和最重點的可以和所在公司及同行推薦推薦,讓我的技術可以在貴司發揮價值,實現雙贏(初步設想可以數據顧問的方式或一些小型項目開發的方式合作)。