在不同軟體中實現數據匹配
在日常工作中,經常會遇到需要在不同的表格中查找數據、匹配數據的情況,以下結合示例數據,探討如何在不同的軟體實現數據匹配。
一、在Excel中實現數據匹配
在Excel中,vlookup函數應該是使用頻率最高的函數之一,以下面的截圖為例:
左邊的表是主表,要查找的信息在右表,兩個表通過號碼來關聯,vlookup(a2,g2:k13,2,0)返回號碼對應的年齡。這個函數主要是兩點需要注意的:第一,在右表中,號碼一定是要在查找的其他欄位前面,像下面這種情況,同樣的公式,結果是會報錯的;
第二,關聯的欄位必須是相同的類型,以號碼為例,兩個表的號碼保存的格式或者都是數字型,或者都是文本型。如果出現查找不到返回值的情況,優先考慮關聯欄位類型是否一致。
二、在access中實現數據匹配
現在有兩個表sheet1、sheet2,表1有品牌、型號、開volte數三個欄位,表2有品牌、型號兩個欄位,兩個表通過品牌、型號兩個欄位進行關聯。
以表2為主表,匹配出表2品牌、型號對應的volte數;
在access中有兩種實現方法,
1)菜單式操作:
第一步,點擊創建—》查詢—》查詢設計;
第二步,分別選擇sheet1、sheet2,點添加;
添加完之後,頁面是這樣:
第三步,先從sheet2中選擇品牌、型號兩個欄位,直接用滑鼠把兩個欄位拉到下面方框第一行欄位對應的表格中,接著從sheet中選擇開volte數,點擊完後,頁面如下:
因兩個表是通過品牌、型號進行關聯,所以在「條件」處需要添加「sheet2.品牌=sheet1.品牌」、「sheet2.型號=sheet1.型號」,如下圖:
第四步,也是最後一步,點擊「運行」,就能得到我們要的結果。
最後結果展現:
如果想把查詢結果導出,需先保存,如例子中查詢2,點右鍵,然後保存:
把查詢2保存為「結果」,如下圖:
導出操作如下,可以導出成不同的文件格式excel、txt、access等。
第二種方式是通過寫sql語句,
a)查看方法一生成的sql語句:
在數據表視圖中,點擊右下角sql圖標,就能看到第一種方法對應的sql語句:
注意右下角紅色小框。
點擊sql後,看到的語句是這樣的:
SELECT Sheet2.品牌, Sheet2.型號,Sheet1.開VOLTE數目
FROM Sheet1, Sheet2
WHERE (([sheet2].[品牌]=[sheet1].[品牌]) AND ([sheet2].[型號]=[sheet1].[型號]));
當然,如果學過sql語句的話,可以直接在sql視圖中輸入上面這條語句,然後點運行,也能得到同樣的結果。
b)直接寫sql語句:
前面的步驟是一樣的,創建、查詢設計、添加兩個表,
點擊進入sql界面後是這樣的:
現在,就可以在這個頁面輸入sql語句:
Select sheet2.品牌,sheet2.型號,sheet1.開volte數
From sheet1,sheet2
Where shee1.品牌=sheet2.品牌 andsheet1.型號=sheet2.型號;
輸入完後點運行,就能得到同方法一相同的結果。
三、在SPSS中實現數據匹配
SPSS主要是運用在統計分析、數據挖掘、預測分析等幾個方面的一款軟體,就本文的主題數據匹配,SPSS當然也可以解決同樣的問題,菜單欄式操作,而且對於數據量較大,如百萬級以上的數據,SPSS的運行速度比EXCEL快很多。
同樣以sheet1、sheet2數據為例,首先把兩份數據導入到SPSS中,因SPSS的數據匹配功能需要關聯欄位是唯一值,故在導入前,需把sheet1、sheet2的品牌、型號欄位進行合併,形成一個新的欄位「品牌型號」,然後去重,導入的數據如下圖:
Sheet1現在只有品牌型號、開通volte數兩個欄位,
Sheet2隻有品牌型號一個欄位,
以sheet2作為主表,匹配其品牌型號對應的volte數,操作步驟如下:
第一步,打開sheet1、sheet2兩個表,定位到sheet2,
點擊「數據」—》「合併文件」—》「添加變數」, 如下圖:
sheet1已經打開了,所以選擇「打開數據集—sheet1.sav」,點擊「繼續」;
這一步是關鍵,有幾個點需要注意:
勾選「按鍵變數匹配個案」,中間紅框所示,然後把「品牌型號」欄位拖拽到鍵變數處,如紅色箭頭所指,同時,勾選「活動的數據集是鍵控表」,再點擊「確定」;
回到sheet2視圖,就能看到增加的欄位「開通volte數」,
沒數據?選定「開通volte數」列,右鍵—》降序排序,
這樣就得到了sheet2中品牌型號欄位對應的開通volte數,以上就是在SPSS中實現數據匹配的全部操作。
註:方法二、方法三得到的結果是不同的,方法二中,用的是where子句,對應資料庫語言,得到的是兩個表內連接的結果,即匹配了sheet1、sheet2品牌、欄位交集對應的volte數;方法三是匹配sheet2所有品牌型號對應的volte數,如下圖所示:
方法二
Sheet1sheet2
方法二的匹配結果對應的就是上圖sheet1、sheet2的交集部分,即內連接。
方法三
Sheet1sheet2
方法三的匹配結果對應的就是上圖中黃色部分,即外連接。
四、在mysql中實現數據匹配
在mysql中就比較簡單,直接寫sql語句,方法同access第二種操作。
除了上面提到的四種工具外,Excel中的power query和Python都能實現同樣的功能,後續再進行補充。


TAG:全球大搜羅 |