用公式批量提取資料資訊

才智咖 人氣:5.86K

    《現代計算機》2004年第10期刊登了《批量提取,一鍵搞定》一文,看後深受啟發,但筆者認為,文中所介紹的方法過於複雜,其實用Excel公式照樣可以實現上述效果。

用公式批量提取資料資訊

假設在一個Excel工作簿中有N個企業基本情況登記表,不同工作表中分別儲存了各個企業的基本情況資料,工作表格式都一致,名稱分別為Sheet1、Sheet2直到SheetN。圖1為Sheet1表中企業基本情況表,從該表中可以看到,企業名稱、負責人姓名和聯絡電話等資料分散在B2、B4及G4單元格中。如何提取各表中企業名稱、負責人姓名和聯絡電話等內容,並將提取的.內容製成如圖2所示的表格呢?

 

一、新建工作表

在工作簿中插入一個新工作表,並將該工作表命名為“通訊錄”,合併A1—D1單元格,在合併後的單元格中輸入“全市建築企業負責人聯絡電話”。分別在A2、B2、C2、D2單元格中輸入“序號”、“企業名稱”、“負責人”、“聯絡電話”等欄位。

 二、輸入公式

在序號列中填充如圖2所示的序號,在B3單元格中輸入公式:“= INDIRECT("Sheet"&ROW()-2&"!$B$2")”。公式中INDIRECT函式返回由文字串指定的引用。ROW()返回所在單元格的行號,"Sheet"&ROW()-2&"!$B$2"為要引用的單元格,該公式含義為返回Sheet1表中B2單元格的值。同樣道理在C3及D3單元格中分別輸入“=INDIRECT("Sheet"&ROW()-2&"!$B$4")”、“=INDIRECT("Sheet"&ROW()-2&"!$G$4")”。上述公式中單元格引用要使用絕對引用,否則會導致錯誤的結果。公式輸入完成後,選中A3:D3單元格區域,將滑鼠指向D3單元格右下角的填充柄,將公式向下拖動複製到相應資料區域。這樣,一份精緻的表格就呈現在你面前了。

三、批量命名工作表

如果各工作表名稱無規律,如“一建公司表”、“路橋公司表”等,使用公式前還需將所有表名稱統一為預設的表名,當然表數量不多,用手工命名也可以,如果工作表數量很多,批量命名則要使用VBA程式碼了。具體實現方法如下:執行“工具→巨集→Visul Basic編輯器”命令或按下Alt+F11組合鍵,在Visul Basic編輯器中選擇“插入→新增模組”(圖3),在程式碼視窗輸入以下程式碼:   

 

 

Sub 工作表命名()

 

Dim Sh As Worksheet 

For Each Sh In Worksheets

= Name

 

  Next

End Sub

輸入完成後,關閉VBA視窗,返回到工作表編輯視窗,在Excel文件中執行巨集即可。將工作表名稱統一後,再按照步驟一和二介紹的方法,提取表格中的資料。怎麼樣,是不是很簡單?