- 相關(guān)推薦
用公式批量提取數(shù)據(jù)信息
《現(xiàn)代計(jì)算機(jī)》2004年第10期刊登了《批量提取,一鍵搞定》一文,看后深受啟發(fā),但筆者認(rèn)為,文中所介紹的方法過(guò)于復(fù)雜,其實(shí)用Excel公式照樣可以實(shí)現(xiàn)上述效果。
假設(shè)在一個(gè)Excel工作簿中有N個(gè)企業(yè)基本情況登記表,不同工作表中分別保存了各個(gè)企業(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所示的表格呢?
一、新建工作表
在工作簿中插入一個(gè)新工作表,并將該工作表命名為“通訊錄”,合并A1—D1單元格,在合并后的單元格中輸入“全市建筑企業(yè)負(fù)責(zé)人聯(lián)系電話”。分別在A2、B2、C2、D2單元格中輸入“序號(hào)”、“企業(yè)名稱”、“負(fù)責(zé)人”、“聯(lián)系電話”等字段。
二、輸入公式
在序號(hào)列中填充如圖2所示的序號(hào),在B3單元格中輸入公式:“= INDIRECT("Sheet"&ROW()-2&"!$B$2")”。公式中INDIRECT函數(shù)返回由文字串指定的引用。ROW()返回所在單元格的行號(hào),"Sheet"&ROW()-2&"!$B$2"為要引用的單元格,該公式含義為返回Sheet1表中B2單元格的值。同樣道理在C3及D3單元格中分別輸入“=INDIRECT("Sheet"&ROW()-2&"!$B$4")”、“=INDIRECT("Sheet"&ROW()-2&"!$G$4")”。上述公式中單元格引用要使用絕對(duì)引用,否則會(huì)導(dǎo)致錯(cuò)誤的結(jié)果。公式輸入完成后,選中A3:D3單元格區(qū)域,將鼠標(biāo)指向D3單元格右下角的填充柄,將公式向下拖動(dòng)復(fù)制到相應(yīng)數(shù)據(jù)區(qū)域。這樣,一份精致的表格就呈現(xiàn)在你面前了。
三、批量命名工作表
如果各工作表名稱無(wú)規(guī)律,如“一建公司表”、“路橋公司表”等,使用公式前還需將所有表名稱統(tǒng)一為默認(rèn)的表名,當(dāng)然表數(shù)量不多,用手工命名也可以,如果工作表數(shù)量很多,批量命名則要使用VBA代碼了。具體實(shí)現(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ù)。怎么樣,是不是很簡(jiǎn)單?
【用公式批量提取數(shù)據(jù)信息】相關(guān)文章:
新人“速成公式”08-17
北京公積金提取流程201608-16
長(zhǎng)沙公積金怎么提取201608-08
北京住房公積金怎么提取201508-01
2016年深圳公積金提取流程08-16
數(shù)據(jù)挖掘?qū)I(yè)就業(yè)方向09-27
深圳中式快餐業(yè)三品牌大批量招聘08-13