當前位置:我的電腦網 > MyDiannao.Com > OFFICE應用 > Excel技巧教程

用公式批量提取數據信息

    《現代計算機》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

  Sh.Name = Sh.CodeName

  Next

  End Sub

  輸入完成后,關閉VBA窗口,返回到工作表編輯窗口,在Excel文檔中執行宏即可。將工作表名稱統一后,再按照步驟一和二介紹的方法,提取表格中的數據。怎么樣,是不是很簡單?
分享到:
[] [返回上一頁]
Copyright © 2010 - 2019MyDiannao.Com. All Rights Reserved .
粵ICP備10200428號
狂野大中华闯关