平淡
對已經(jīng)完成所有數(shù)據(jù)錄入的文檔,我們可以借助Excel的“查找和替換”功能方便地將同一類型的數(shù)據(jù)查找出來,然后再將它們歸類排序即可。選中A2:A10區(qū)域,依次點擊“開始→查找和替換”,在“查找內(nèi)容”處輸入“村”,點擊“選項”按鈕,在“搜索”處選擇“按列”,接著點擊“查找全部”,然后按下“Ctrl+A”組合鍵全選下方窗格中的搜索結(jié)果(圖2)。
這時在A2:A10區(qū)域就會自動選中所有帶“村”的數(shù)據(jù),右擊任意一個數(shù)據(jù)并選擇“復(fù)制”,然后將其粘貼到B列。操作同上,繼續(xù)搜索“街道”、“居委會”,并將找到的數(shù)據(jù)依次粘貼到B列即可(圖3)。
如果原始文檔中還需要不斷錄入新的數(shù)據(jù),那么每次錄入后都要重復(fù)執(zhí)行上述的操作,非常麻煩。對于這類數(shù)據(jù),我們可以借助函數(shù)對數(shù)據(jù)進行自動歸類排序。
定位到C2單元格,輸入公式“=IF(LEN(A2)<>LEN(SUBSTITUTE(A 2,"村","")),A 2,"")”并下拉填充公式。接著在D2和E2單元格中分別輸入公式“=IF(LEN(A2)<>LEN(SUBSTITUTE(A2,"街道","")),A2,"")”、“=IF(LEN(A 2)<>LEN(SUBSTITUTE(A 2,"居委會","")),A 2,"")”,同上下拉填充公式。這時A列中的村、街道、居委會就會自動提取到C、D、E列,由于這里通過公式進行篩選,因此當(dāng)我們在A列中輸入新的數(shù)據(jù)后會自動填充到對應(yīng)的列中(圖4)。
這里先使用SUBSTITUTE函數(shù)將A2單元格中對包含“村”的字符替換為空,然后使用LEN函數(shù)對替換后的字符進行計數(shù),再和A2單元格中的字符數(shù)進行比較。最后使用IF函數(shù)進行判斷,如果替換前后的字符數(shù)不相等,那么就顯示A2單元格中的數(shù)值,否則顯示為空值。比如A4單元格中的內(nèi)容是“君竹村”,替換“村”后“=LEN(SUB STITUTE(A4,"村",""))”為2,“=LEN(A4)”為3,所以在C4單元格中就顯示“君竹村”。而A2單元格中的數(shù)據(jù)因為不包含“村”,所以顯示為空,這樣在C列就會自動填充所有包含“村”的數(shù)據(jù)。其他公式的解釋類似,不再贅述。
在A列中輸入完所有的數(shù)據(jù)后(假設(shè)截止到A12單元格),選中A1:E12區(qū)域,依次點擊“數(shù)據(jù)→排序”,在打開的窗口中勾選“數(shù)據(jù)包合標(biāo)題”,接著按照圖5所示依次添加排序條件,“主要關(guān)鍵字”選擇“村”,“次要關(guān)鍵字”選擇“街道”和“居委會”,“次序”選擇“降序”(圖5)。
最后點擊“確定”按鈕,這時A列中的數(shù)據(jù)就會按照村、街道、居委會進行排序,同時對應(yīng)的數(shù)據(jù)也會分列在C、D、E列中(圖6)。
如果需要排序的工作表較多,那么利用VBA腳本是更快捷的方法。打開任意一個需要排序的工作表,依次點擊“開發(fā)工具→宏→錄制宏”,然后執(zhí)行下述的操作錄制一個新宏:
選中A列,右擊并選擇“插入”,插入一個新列。在A1單元格中輸入“輔助列”,在A2單元格中輸入公式“=Right(B2,1)”(表示使用Right函數(shù)提取“名稱”中最右側(cè)的字符,排序時以該字符作為主要關(guān)鍵字),下拉填充公式到A12單元格。選中A1:B12區(qū)域,依次點擊“數(shù)據(jù)→排序”,在打開的窗口中勾選“數(shù)據(jù)包含標(biāo)題”,接著按照圖7所示依次添加排序條件,“主要關(guān)鍵字”和“次要關(guān)鍵字”分別選擇“輔助列”和“名稱”,“次序”選擇“升序”(圖7)。
然后點擊“確定”按鈕并停止宏的錄制。之后打開宏代碼窗口即可看到剛剛錄制的宏。在該窗口中依次點擊“編輯→替換”,將原代碼中的“ActiveWorkbook.Worksheets("Sheet1")”替換為“ActiveSheet”,這樣我們只要在其他的工作表中運行該宏即可快速完成排序(圖8)。