- 相關(guān)推薦
用公式批量提取數(shù)據(jù)信息
《現(xiàn)代計算機(jī)》2004年第10期刊登了《批量提取,一鍵搞定》一文,看后深受啟發(fā),但筆者認(rèn)為,文中所介紹的方法過于復(fù)雜,其實用Excel公式照樣可以實現(xiàn)上述效果。
假設(shè)在一個Excel工作簿中有N個企業(yè)基本情況登記表,不同工作表中分別保存了各個企業(yè)的基本情況數(shù)據(jù),工作表格式都一致,名稱分別為Sheet1、Sheet2直到SheetN。圖1為Sheet1表中企業(yè)基本情況表,從該表中可以看到,企業(yè)名稱、負(fù)責(zé)人姓名和聯(lián)系電話等數(shù)據(jù)分散在B2、B4及G4單元格中。如何提取各表中企業(yè)名稱、負(fù)責(zé)人姓名和聯(lián)系電話等內(nèi)容,并將提取的內(nèi)容制成如圖2所示的表格呢?
一、新建工作表
在工作簿中插入一個新工作表,并將該工作表命名為“通訊錄”,合并A1—D1單元格,在合并后的單元格中輸入“全市建筑企業(yè)負(fù)責(zé)人聯(lián)系電話”。分別在A2、B2、C2、D2單元格中輸入“序號”、“企業(yè)名稱”、“負(fù)責(zé)人”、“聯(lián)系電話”等字段。
二、輸入公式
在序號列中填充如圖2所示的序號,在B3單元格中輸入公式:“= INDIRECT("Sheet"&ROW()-2&"!$B$2")”。公式中INDIRECT函數(shù)返回由文字串指定的引用。ROW()返回所在單元格的行號,"Sheet"&ROW()-2&"!$B$2"為要引用的單元格,該公式含義為返回Sheet1表中B2單元格的值。同樣道理在C3及D3單元格中分別輸入“=INDIRECT("Sheet"&ROW()-2&"!$B$4")”、“=INDIRECT("Sheet"&ROW()-2&"!$G$4")”。上述公式中單元格引用要使用絕對引用,否則會導(dǎo)致錯誤的結(jié)果。公式輸入完成后,選中A3:D3單元格區(qū)域,將鼠標(biāo)指向D3單元格右下角的填充柄,將公式向下拖動復(fù)制到相應(yīng)數(shù)據(jù)區(qū)域。這樣,一份精致的表格就呈現(xiàn)在你面前了。
三、批量命名工作表
如果各工作表名稱無規(guī)律,如“一建公司表”、“路橋公司表”等,使用公式前還需將所有表名稱統(tǒng)一為默認(rèn)的表名,當(dāng)然表數(shù)量不多,用手工命名也可以,如果工作表數(shù)量很多,批量命名則要使用VBA代碼了。具體實現(xiàn)方法如下:執(zhí)行“工具→宏→Visul Basic編輯器”命令或按下Alt+F11組合鍵,在Visul Basic編輯器中選擇“插入→添加模塊”(圖3),在代碼窗口輸入以下代碼:
Sub 工作表命名()
Dim Sh As Worksheet
For Each Sh In Worksheets
Sh.Name = Sh.CodeName
Next
End Sub
輸入完成后,關(guān)閉VBA窗口,返回到工作表編輯窗口,在Excel文檔中執(zhí)行宏即可。將工作表名稱統(tǒng)一后,再按照步驟一和二介紹的方法,提取表格中的數(shù)據(jù)。怎么樣,是不是很簡單?
【用公式批量提取數(shù)據(jù)信息】相關(guān)文章:
Excel批量修改標(biāo)準(zhǔn)化試卷11-11
北京的住房公積金提取管理11-26
升級你的公式編輯器11-11