通過上一期的介紹,我們已經(jīng)了解了什么是數(shù)據(jù)處理及其作用,并講解了數(shù)據(jù)處理五大方法之一的數(shù)據(jù)清洗。本期筆者繼續(xù)介紹數(shù)據(jù)處理中的數(shù)據(jù)抽取與數(shù)據(jù)合并兩大方法。
數(shù)據(jù)抽取
數(shù)據(jù)抽取是指抽取并保留原數(shù)據(jù)表中某些字段的部分信息,形成一個(gè)新字段。例如,我們的18位身份證號(hào)碼,前6位為地區(qū)編碼,第7位至第14位為出生年月日信息,而第17位為性別信息,奇數(shù)為男性,偶數(shù)為女性,對(duì)此我們就可以從用戶身份證抽取出地區(qū)、出生年月日、性別等數(shù)字編碼,為用戶地區(qū)分布、用戶年齡結(jié)構(gòu)、性別結(jié)構(gòu)等分析做準(zhǔn)備。
數(shù)據(jù)抽取在Excel中主要有數(shù)據(jù)分列法與函數(shù)法兩種方法實(shí)現(xiàn)。
1.數(shù)據(jù)分列法
現(xiàn)有一列用戶的身份證號(hào)碼數(shù)據(jù),需要提取出前6位地區(qū)編碼,以便進(jìn)行用戶地區(qū)分布分析,現(xiàn)就采用數(shù)據(jù)分列法進(jìn)行提取。具體操作步驟如下:
步驟1:選中要提取的數(shù)據(jù)區(qū)域,本例A列為身份證號(hào)碼數(shù)據(jù),在“數(shù)據(jù)”選項(xiàng)卡上的“數(shù)據(jù)工具”組中,單擊“分列”按鈕。
步驟2:在彈出的“文本分列向?qū)А?步”對(duì)話框中,單擊選擇“固定寬度”,然后單擊“下一步”按鈕。
步驟3:在彈出的“文本分列向?qū)А?步”對(duì)話框中,在“數(shù)據(jù)預(yù)覽”下方的身份證號(hào)碼第6位與第7位數(shù)字編碼之間,單擊鼠標(biāo),以建立分列線,這時(shí)會(huì)出現(xiàn)一個(gè)向上箭頭的分列線,通常情況下可直接單擊“完成”按鈕,以完成地區(qū)編碼提取工作。
但是這樣會(huì)產(chǎn)生兩個(gè)問題,一個(gè)是原來的身份證號(hào)碼字段數(shù)據(jù)會(huì)丟失,另一個(gè)問題就是如果在身份證號(hào)碼字段后還有其他字段數(shù)據(jù),則相鄰的一個(gè)字段數(shù)據(jù)會(huì)被替換掉,導(dǎo)致相應(yīng)數(shù)據(jù)信息丟失。面對(duì)這兩個(gè)問題,通常的解決方案是在數(shù)據(jù)區(qū)域最后一列重新復(fù)制備份一列身份證號(hào)碼字段數(shù)據(jù),然后再進(jìn)行分列操作,這樣就可以避免上述問題。當(dāng)然我們也可以不用復(fù)制備份,只需通過進(jìn)一步設(shè)置即可避免上述兩個(gè)問題。
步驟4:在“文本分列向?qū)А?步”對(duì)話框中,單擊“下一步”按鈕,得到“文本分列向?qū)А?步”對(duì)話框,先將“目標(biāo)區(qū)域”更改為分列后的數(shù)據(jù)所要放置的位置,本例為B1單元格,然后選中分列線后的第二列,在上方的“列數(shù)據(jù)格式”中選擇“不導(dǎo)入此列(跳過)”項(xiàng),最后單擊“完成”按鈕,即可在指定位置增加一列6位地區(qū)編碼。
“文本分列向?qū)А?步”對(duì)話框還可以設(shè)置分列后的字段數(shù)據(jù)格式,可以設(shè)置為數(shù)值型(常規(guī))、字符型(文本)、日期型幾種常用數(shù)據(jù)格式。從另一個(gè)角度說,它也可以用于數(shù)據(jù)格式的轉(zhuǎn)化,這將在下期進(jìn)行介紹。
2.函數(shù)法
函數(shù)法主要采用Left、Right、Mid三個(gè)函數(shù)進(jìn)行相關(guān)數(shù)據(jù)的抽取。
Left函數(shù)是指從一個(gè)文本字符串左邊第一位開始,從左至右截取指定數(shù)目的字符。Right函數(shù)是指從一個(gè)文本字符串右邊第一位開始,從右至左截取指定數(shù)目的字符。Mid函數(shù)是指從一個(gè)文本字符串左起指定位置開始,從左至右截取指定數(shù)目的字符。
我們?nèi)砸陨矸葑C號(hào)碼數(shù)據(jù)抽取為例,采用Left函數(shù)提取出前6位地區(qū)編碼,采用Mid函數(shù)提取第7~10位的出生年份編碼,分別在B2、C2單元格輸入公式:
B2 =LEFT(A2,6),即從A2單元格字符串左邊第一位開始,從左至右截取6位字符;
C2 =MID(A2,7,4),即從A2單元格字符串左起第7位開始,從左至右截取4位字符;
并向下填充復(fù)制B2、C2單元格的公式,即可批量得到各用戶的地區(qū)編碼與出生年份數(shù)據(jù)。
數(shù)據(jù)合并
數(shù)據(jù)合并是指綜合不同的原數(shù)據(jù)表中某幾個(gè)字段的信息數(shù)據(jù),組合成一個(gè)新字段數(shù)據(jù)。它可以是將某幾個(gè)字段合并為一個(gè)新字段即字段合并;也可以是將原數(shù)據(jù)表中沒有的,但其他數(shù)據(jù)表(維表)中有的字段,通過共有的關(guān)鍵字段進(jìn)行對(duì)應(yīng)匹配即字段匹配。
1.字段合并
字段合并剛好與數(shù)據(jù)抽取相反,它是將某幾個(gè)字段合并為一個(gè)新字段,在Excel中主要使用Concatenate函數(shù)進(jìn)行合并。例如,A列是“xx年”,B列是“xx月”,C列是“xx日”,我們可以將這三列數(shù)據(jù)合并成D列“xx年xx月xx日”,如下圖所示。
2.字段匹配
有時(shí)候原數(shù)據(jù)表中沒有我們需要的字段,則需要從其他數(shù)據(jù)表中通過共有的關(guān)鍵字段進(jìn)行對(duì)應(yīng)匹配獲取字段,這就是字段匹配。例如,上文數(shù)據(jù)抽取部分提到的身份證號(hào)碼中提取出的地區(qū)編碼,光提取出編碼還不夠,因?yàn)槲覀儫o法得知每個(gè)編碼的具體意義,需要再根據(jù)一張地區(qū)編碼維表進(jìn)行匹配得到相應(yīng)的地區(qū)信息,這時(shí)數(shù)據(jù)才有意義。
在Excel中主要使用Vlookup函數(shù)的精確匹配功能進(jìn)行字段匹配,Vlookup函數(shù)語法如下:
Vlookup (lookup_value, table_array, col_index_num, [range_lookup])
lookup_value:查找匹配的關(guān)鍵字段,即根據(jù)什么進(jìn)行查找。table_array:查找的范圍(維表),即在什么范圍進(jìn)行查找,其中關(guān)鍵字段必須在第一列。col_index_num:需要查找匹配的字段所在維表中的列號(hào)(必須從維表第一列起開始數(shù)起)。range_lookup:參數(shù)為TRUE(1)或被省略,則返回精確匹配值或近似匹配值;參數(shù)為FALSE(0),則返回精確匹配值。
我們?nèi)砸陨矸葑C號(hào)碼為例,需要根據(jù)提取出的地區(qū)編碼,與地區(qū)編碼維表進(jìn)行匹配,得到相應(yīng)的地區(qū)信息,如下圖所示,我們只需要在B2單元格中輸入公式:“=Vlookup (LEFT(A2,6),D:E,2,0)”,即可匹配得到相應(yīng)的地區(qū)信息,然后向下填充復(fù)制B2單元格的公式,即可批量得到各用戶的地區(qū)信息數(shù)據(jù)。
本期數(shù)據(jù)處理技巧就介紹到這里,下期將介紹數(shù)據(jù)計(jì)算與數(shù)據(jù)轉(zhuǎn)化兩方面的數(shù)據(jù)處理技巧。
編輯:單之卉 / 郵箱:szh@bjstats.gov.cn