當前位置:
首頁 > 最新 > 在不同軟體中實現數據匹配

在不同軟體中實現數據匹配

在日常工作中,經常會遇到需要在不同的表格中查找數據、匹配數據的情況,以下結合示例數據,探討如何在不同的軟體實現數據匹配。

一、在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:全球大搜羅 |