我的永久性免費-Excel催化劑功能第101波-批量替換功能(增長正則及高性能替換能力)

數據處理無小事,正如沒有人活在真空理想環境一下,在數據分析過程當中,也沒有那麼真空理想化的數據源可使用,數據處理佔據數據分析的80%的時間,每個小小的改善,獲益都良多。
Excel查找替換,有其侷限性所在,此篇再次對查找替換這樣的高頻的操做進行補充,問鼎100篇以後,仍然迴歸初心,在數據處理的路上不斷添磚加瓦,打造最優秀的精品工具。正則表達式

使用場景

在Excel過往的大量功能輔助中,其實不多使用替換這樣的操做,由於對數據源進行了沒法回溯還原的破壞做用。數據庫

更多的時候,是推薦使用自定義函數,根據原有的數據源,經函數轉換後生成新的符合要求的數據結果,因此在Excel催化劑中,有大量的自定義函數來支持數據處理、轉換的環節。編程

但對某特定的場景下,原有數據能夠接受永久性更新操做,替換舊的有數據,這時使用替換操做,也是合適恰當的,例如須要將標題行的原標題改成更符合閱讀習慣的更有意義的標識。json

在地圖數據功能中大量出現的原英文標題
在地圖數據功能中大量出現的原英文標題

在這種情形下,若是手頭固定維護一個映射表,能夠一次性將其替換,就比較完美。安全

列標題的映射表關係
列標題的映射表關係

一樣地,若某表格數據中,有一些過期的名稱叫法,須要將其從新批量命名爲新的名字,因Excel的數據源不像在關係數據庫裏那般整齊規範,數據有可能不止在一列內容上,還分散在多列的內容上,此時,自定義函數的處理仍不是最理想,能夠考慮用替換的方式去覆蓋舊的過期數據,在再次分發傳播中,新的定義叫法更符合平常的數據使用和二次引用。服務器

Excel原生查找替換功能的缺陷

鑑於上述的場景,使用Excel的原生功能,雖然大部分仍是能夠解決,但仍然偏繁瑣,不能一次到位的以人邏輯提煉的方式實現。有多少個要替換的內容,就要反覆操做多少篇,若是是偶發性的行爲,還勉強能夠接收一下(但手工操做仍然有出錯的風險,屢次操做,頭暈眼花的情形是時有發生的)。微信

對於特定的情景,特別是字符串世界中,各類雜亂的數據,但仍然有所規律可循時,若是單純地只有Excel的原生的區分大小寫,精確模糊匹配等方式,遠遠不能勝任實際的數據場景。數據結構

正則表達式的引入

在字符串處理的世界中,正則表達式的處理方式永遠不能讓其缺席,有了正則處理,字符串的世界才趨於聽話。函數

正則表達式,筆者是很是推薦的,當然有一點點的學習成本,但學成以後,使用場景十分廣闊,特別是平常工做中須要和數據打交道的人員,十分值得花心思入門學習一下。工具

在Excel催化劑的自定義函數、文本處理等功能上,已經有大量正則表達式的封裝,讓通常的用戶能夠無需編程環境下,便可在Excel上輕鬆使用正則表達式。

此篇的批量替換功能,也不落空,必然要將正則表達式進行引入,擴展Excel的原生功能的不足。

替換方式的追加

Excel原生的替換方式,只能對匹配的內容進行替換,如單元格內的內容爲:「ABC123456」,當須要查找含ABC關鍵字的單元格時,是無法對其單元格的內容所有替換爲某個值如「CDE」,只會替換成「CDE123456」的效果。

但實際中,可能更想要的是隻要找到含ABC的,就直接替換成映射表中的CDE的值。在這方面,本篇會進行擴展,實現這樣的需求。

對處理大量數據時的性能瓶頸問題

若存在一個數據量大的表,嘗試使用Excel原生的查找替換的話,會很是慢,特別是使用正則的擴展方式,若是仍是在用COM的方式來訪問Excel文件並處理的話,慢得很是難於忍受,此時可嘗試Excel催化劑使用EPPLUS讀寫Excel的方式,性能有大幅度的提高。

固然若是數據量不大,僅替換下標題幾個單元格甚至幾百幾千的單元格,性能不會成爲大問題。

功能實現

通過上述的描述,一個簡單的查找替換,也是須要考慮許多的問題和場景須要的,Excel催化劑不少時候的確是把功能作複雜了,對於初級用戶來講。

但平常的工做,不會由於你是初級用戶,問題就會自動跳過,問題的存在複雜性,必要會讓功能的使用上配合到其通用性的設計而同步地變得複雜起來。

因此,須要使用上Excel催化劑的全部功能,仍然須要本身有努力的上進心,敢於解決一些平常難題並樂於靜下心來認真地琢磨才能學到手。

相對於將功能封裝成一個通用性出口,只需簡單的界面操做的開發過程來講,學習功能的使用,已是十分簡單的了。

願意花上一些時間來弄透它,總比每次每日每夜地去作那些996環境下的低效、重複性、出錯率高的工做有價值得多。

功能入口
功能入口

注意:此功能會對原文件帶來數據的破壞做用,請務必進行文件備份再進行操做。

操做步驟

步驟一:選定要處理的數據源區域

若是是對整個工做薄操做,這一步的數據源區域引用,在後續的使用上將忽略,而轉爲使用整個工做薄全部單元格。如需處理整個工做表內容,可全選整個工做表,後續程序會進行範圍縮減,不會由於全選全部單元格而引發性能過慢。

替換的單元格中,只會進行非公式的單元格內容替換,若是是公式生成的內容,將不會進行處理(因其會出現一些不可預料的錯誤和實際場景並不是必須而直接跳過了)

步驟二:選擇要替換的映射表數據區域

映射表只有兩列,首列是查找值或正則表達式的匹配字符,第二列是要替換到爲的內容。須要有標題行。以下圖所示。

 

映射表結構
映射表結構

步驟三:配置須要的匹配規則

若所選擇的區域不對,可從新選擇。
可根據本身數據處理的邏輯,各複選框進行勾先或去勾選。

【替換整個單元格內容】即爲以上所述的,當找到有匹配的單元格,即將其單元格的內容用對應行的返回值所有替換,而不是隻替換匹配到的部分字符,其餘字符保留。

匹配規則
匹配規則
批量替換後的結果
批量替換後的結果

因可供匹配的信息太多,未能對全部情形進行測試,請務必進行保存備份後再操做,也歡迎反饋實際使用過程當中出現的bug,讓程序及時得以修復,更健壯。

結語

可以跟隨Excel催化劑走過這100波功能的朋友,一定是真正願意成長進步的羣體。

時不是有人反饋說學Excel催化劑就像從新學一個軟件同樣,那還真是,但學習它一定是超值回報的,因它已是站在Excel巨人的基礎上去開發出來的系列功能,並非通常性軟件只是知足特定的細小領域,學習Excel催化劑,也如同Excel同樣,全部的功能,均可以複用到很是廣闊的應用場景中。

最後,對那些未能輕鬆跟上Excel催化劑學習步伐的同窗們,Excel催化劑將在接下來的日子裏,着重性地對過往的101波功能進行場景化的視頻教學,將各個看似分散孤立的功能進行串講,使用實際平常工做中的真實場景,讓廣大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波-任意字符指定長度隨機函數
第43波-文本處理類函數加強
第44波-可見區域複製粘貼不覆蓋隱藏內容
第45波-邏輯判斷函數加強
第46波-區域集合函數,超乎所求所想 
第47波-VBA開發者喜好的加密函數類
第48波-拆分工做薄內工做表,堪稱Excel界的單反
第49波-標準數據結構錶轉報表樣式結果
第50波-批量打印、導出PDF、雙面打印功能
第51波-聚光燈功能,長寬工做表不看錯位使用
第52波-相同內容批量合併單元格,取消合併單元格並填充內容
第53波-無比期待的合併工做薄功能
第54波-批量圖片導出,調整大小等
第55波-Excel批註相關的批量刪除做者、提取全部批註信息等
第56波-獲取Excel對象屬性相關自定義函數
第57波-一鍵生成徹底組合的笛卡爾積結果表
第58波-批量生成單選複選框 
第59波-快速調用Windows內部經常使用工具命令
第60波-數據有效性驗證加強版,補足Excel天生不足
第61波-快速鎖定解鎖單元格及顯示隱藏公式
第62波-單元格區域內數據加解密處理,最有效地保護數據方式
第63波-當前選擇區域的上下左右平移功能及跳轉窗口左上角
第64波-多級數據如省市區聯動輸入,自由配置永不失效
第65波-數據區域轉換指定規格的多行或多列
第66波-數據快速錄入,預約義引用數據逐字提示
第67波-父子結構錶轉換添加輔助信息之子父關係篇
第68波-父子結構錶轉換之父子關係BOM表拆分篇 
第69波-打造最專業易用的商務圖表庫
第70波-工做薄外部連接維護管理
第71波-定義名稱管理器維護加強
第72波-序列規則下的數據驗證有效性好幫手:快速錄入窗體輔助錄入
第73波-數據轉換:單行多項目轉多行單項目
第74波-批量排版格式利器,瞬間美化表格
第75波-標籤式報表轉標準數據源
第76波-圖表序列信息維護
第77波-專業圖表製做輔助之批量維護序列點顏色及數據標籤
第78波-功能大爆炸下如何找到所需的功能
第79波-自動及手動備份功能,比Onedrive還好用
第80波-按條件查找數字,擴展原生查找功能
第81波-指定單元格區域內容及公式填充
第82波-複製粘貼按源區域大小自動擴展收縮目標區域
第83波-遍歷文件夾內文件信息特別是圖像、音視頻等特有信息
第84波-批量提取OUTLOOK郵件附件
第85波-靈活便捷的批量發送短信功能-使用騰訊雲接口
第86波-人工智能之圖像OCR文本識別全覆蓋
第87波-將批量發送郵件作到極致化,需借力Outlook
第88波-批量提取pdf文件信息(圖片、表格、文本等)
第89波-批量多圖片轉PDF
第90波-xml與json數據結構轉換表格結構
第91波-地圖數據挖寶之行政區域信息實時下載(含經緯度) 
第92波-地理地址與經緯度互轉功能
第93波-地圖數據挖寶之兩點距離的路徑規劃
第94波-地圖數據挖寶之搜索地圖上的各類興趣點數據
第95波-地圖數據挖寶之IP地址轉地理地址及不一樣經緯度版本轉換
第96波-地圖數據挖寶之全國天氣查詢
第97波-快遞單號批量查詢物流信息
第98波-零代碼零距離輕鬆接觸並擁有金融大數據
第99波-手機號碼歸屬地批量查詢
第100波-透視多行數據爲多列數據結構

關於Excel催化劑

Excel催化劑先是一微信公衆號的名稱,後來順其名稱,正式推出了Excel插件,插件將持續性地更新,更新的週期視本人的時間而定爭取一週可以上線一個大功能模塊。Excel催化劑插件承諾我的用戶永久性無償使用!

Excel催化劑插件使用最新的佈署技術,實現一次安裝,往後全部更新自動更新完成,無需重複關注更新動態,手動下載安裝包從新安裝,只需一次安裝便可隨時保持最新版本!

Excel催化劑插件下載連接:https://pan.baidu.com/s/1Iz2_NZJ8v7C9eqhNjdnP3Q

因插件使用VSTO開發技術完成,插件的安裝須要電腦知足相關的環境配置才能運行,且需可鏈接外網的方式實現自動更新機制,若下載安裝過程當中有任何疑問或須要離線版安裝等,儘可能不單獨私聊詢問,加QQ羣可高效解決(羣內已聚集了VSTO開發、Powerbi技術、Sqlserver商業智能等方面的國內頂尖大牛人物,進羣的好處不用多說了)

Excel催化劑插件交流羣羣二維碼
Excel催化劑插件交流羣羣二維碼
聯繫做者
聯繫做者
公衆號
公衆號

取名催化劑,因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催化劑一直能運行下去,我所惠及的羣體們可以給予支持(多留言鼓勵下、轉發下朋友圈推薦、小額打賞下和最重點的能夠和所在公司及同行推薦推薦,讓個人技術能夠在貴司發揮價值,實現共贏(初步設想能夠數據顧問的方式或一些小型項目開發的方式合做)。

相關文章
相關標籤/搜索