tft每日頭條

 > 圖文

 > 還在為Word資料亂七八糟頭疼

還在為Word資料亂七八糟頭疼

圖文 更新时间:2024-08-13 18:06:58

公司小朋友又發來一份亂七八糟的資料,說他整理一上午了,還沒整理完,要我幫忙整理。

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)1

如上圖所示(為保護隐私,姓名和手機号全部随機替換過了),需求為隻保留兩列:姓名和聯系方式,其餘多餘的字符和符号全部去掉。

基本思路

之前我用的Excel處理,後來用PowerQuery處理,發現都不夠簡便,這次我準備用Word來處理。

具體來說:

1.利用查找替換功能來批量删除不需要的信息。

2.把所有步驟生成一個宏保存下來,以後就不用再重複操作了。

替換“太空空城……條”

首先我們要把“太空空城12号的電話撥打按鈕點擊累計16次,電話号碼線索10條”這樣的替換掉。通過分析,發現這段文字的規律可以用“一個或多個中文字符 一個或多個數字 任意個漢字 條”來概括。為了保險起見,可以把“條”後面的段落标記也算作查找條件。

如何将上述的文字規律轉化成Word的查找替換符号,很簡單。我先百度Word查找替換,找到Word查找替換的通配符列表,然後将其保存到本地(我用的onenote,免得以後再去百度)。然後就一個一個地去列表裡找符合要求的符号。

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)2

從上表可以查到,所有中文漢字和中文标點的查詢代碼是【[!^1-^127]】,數字是【[0-9]】,一個以上前一字符用【@】,任意個任意字符用【*】,這樣我們就可以獲得第一個查找字符串【[!^1-^127]@[0-9]@*條】。由于我們使用了通配符,所以在替換窗口還需勾選“使用通配符”。因為要删除這些不要的字符,所以查找内容保持為空白即可。

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)3

試着運行一下,完美替換。如果替換多了或少了,需要再對照查找替換通配符列表來調整查找字符串。

替換數字序号及它後面的标點

接下來我們需要幹掉數字和它後面的标點。通過上一步操作我們已經知道可以用【[0-9]@】來幹掉所有數字,但我們并不是要幹掉所有數字,而是幹掉序号和它後面的标點符号。所以,我們還需在查找條件中加上去掉标點符号的代碼。

大緻觀察了一下,序号後面的标點包括中英文逗号、中文頓号、英文句号。去掉這些符号,可以每次替換掉一個符号來實現,但那樣太繁瑣。

我們用查找某個範圍的字符的方式來去掉,具體說來就是【[0-9]@[:,.。、:]@】。标點符号的順序不用考慮。如果運行後發現有序号後面的标點沒去掉,單獨将其加入到查找代碼裡就行。

替換掉“姓名”、“電話”和“手機号”及其後面的标點符号

思路和上一步一緻,但是,由于“姓名”、“電話”和“手機号”不是單字符,所以不能直接用【[]@】的方式一次性替換,要分三次來替換:【電話[.,:、,:]@】、【手機号[.,:、,:]@】和【手機[.,:、,:]@】

我們運行代碼後,會發現出現問題:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)4

原因在于“電話”後面的标點符号,有些多了一個空格。所以,我們在運行這一步之前,要插入一個步驟,先把空格替換掉。空格替換比較簡單,不再單獨列出。

分别替換掉“姓名”、“手機号”和“手機”後,得到的結果類似于下面這樣的:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)5

注意上圖中,姓名和手機号碼之間出現了空白。這些空白其實并不是空格,而是不知道我同事怎麼弄進去的空白區域【^w】:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)6

我是研究了好半天才發現是這個字符。

替換掉多餘的段落标記

結果中有太多不需要的段落标記,我們隻需要保留一個即可。在勾選通配符的情況下,段落标記的查找字符是【^13】,那麼怎麼删除多個段落标記,隻保留一個呢?還是查Word查找通配符列表,我們發現【{n,}】表示N個以上前一字符或表達式,所以去掉多餘段落标記的查找代碼是【^13{2,}】。

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)7

在姓名和電話号碼之間插入制表符

上一步操作後,得到的結果如下:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)8

并不美觀,我們需要将其轉化為表格,一列姓名,一列手機号。轉化為表格的第一步就是獲得制表符。也就是在姓名和手機号之間插入制表符。

既然需要在姓名和手機号之間插入制表符,那麼需要想法把兩者分開。把兩者分開就是把兩者變為兩個表達式,查通配符表可以發現表達式的查找符号是【()】,所以查找框需要輸入的是【([!0-9])([0-9])】,而替換框需要輸入的是【\1^t\2】。

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)9

文字轉表格

接下來我們全選所有内容,選擇内容,然後一次點擊:插入-表格-文本轉換成表格:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)10

進行簡單設置:列數設置為2,因為我們最後隻需要姓名列和手機号碼列。“自動調整”設置為“根據窗口調整表格”,以免待會兒我們還得再調整表格外觀。“文字分隔位置”選擇“制表符”,因為我們前面插入了制表符。

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)11

确定後獲得的結果如下:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)12

最後再插入一行,作為表格标題行:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)13

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)14

将以上步驟錄制成宏,以自動化處理類似問題

由于要經常進行這一系列操作,因此,有必要将其自動化。在Word中自動化的辦法是使用宏。宏就是一串代碼,可以幫助我們自動執行特定任務。

首先調出“開發工具”菜單,因為錄制宏的命令在開發工具中。

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)15

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)16

在開發工具選項卡中點擊“錄制宏”,準備錄制我們剛才操作的一系列命令:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)17

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)18

宏的名字可以改成你喜歡的有意義的名字,以免将來不知道它是幹嘛的。

确定後就開始錄制宏了,然後就再把我們前面的操作按順序執行一遍。執行完畢後,點停止錄制。

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)19

錄制完之後就可以運行它了:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)20

當我們在Word中放入我們需要格式化的文本,點擊運行按鈕,就自動格式化成最後的表格這樣了:

還在為Word資料亂七八糟頭疼(還在為Word資料亂七八糟頭疼)14

結語

步驟比較繁多,但主要還是關注思路:

首先分析文本,找到規律,然後查找通配符列表,使用适當的查找替換代碼來進行格式化。

然後用宏把操作固定下來,以後格式化同類型文本,隻需要運行一下宏就可以了。這跟PowerBI的思路很像——辛苦一次,終身使用。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved