一日以技:Excel中超級(jí)好用的VLOOKUP,解決工作難題

? ???作者:老表
? ? ?來(lái)源:簡(jiǎn)說(shuō)Python
今天給大家分享的一日一技是自己在工作中遇到的一個(gè)問(wèn)題的解決方法,本來(lái)年前也遇到過(guò),但今天又遇到還是記不清,還好記得是用VLOOKUP。
VLOOKUP函數(shù)的功能淺顯的說(shuō)就是:根據(jù)關(guān)鍵詞把一個(gè)表格中的數(shù)據(jù)轉(zhuǎn)移到另外一個(gè)表格。
在數(shù)據(jù)分析中,大多數(shù)時(shí)候問(wèn)題我們能通過(guò)SQL解決,即在取數(shù)據(jù)時(shí)就把數(shù)據(jù)整理好,后面會(huì)分享一些SQL問(wèn)題和解決方法。
但是也會(huì)有些時(shí)候,不方便在取數(shù)時(shí)就直接把數(shù)據(jù)整理好,比如,簡(jiǎn)說(shuō)大學(xué)1602班成績(jī)表里記錄了該大學(xué)歷年來(lái)的學(xué)生的各科的成績(jī),成績(jī)表說(shuō)明如下:
表名:js_1602_class_transcript_nd學(xué)號(hào)?姓名?語(yǔ)文?數(shù)學(xué)?英語(yǔ)?考試類(lèi)別??考試年份注:考試類(lèi)別 -- 期中/期末考試年份?--?yyyy-06?或?yyyy-12 分別表示上學(xué)期和下學(xué)期
這個(gè)時(shí)候,老師叫你整理一份每個(gè)學(xué)生2019年第二期期中期末各科的成績(jī)表,表頭是這樣的:
學(xué)號(hào)?姓名?期中語(yǔ)文?期末語(yǔ)文?期中數(shù)學(xué)?期末數(shù)據(jù)?期中英語(yǔ) 期末英語(yǔ)我們直接寫(xiě)SQL,可能是這樣的:
SELECT??a1.`學(xué)號(hào)`,?a2.`姓名`,?`期中語(yǔ)文`,?`期中數(shù)學(xué)`,?`期中英語(yǔ)`,?`期末語(yǔ)文`, `期末數(shù)學(xué)`,?`期末英語(yǔ)`FROM (????????????SELECT??`學(xué)號(hào)`, `姓名`,`語(yǔ)文` AS `期中語(yǔ)文`,`數(shù)學(xué)` AS `期中數(shù)學(xué)`,`英語(yǔ)` AS `期中英語(yǔ)`FROM js_1602_class_transcript_ndWHERE `考試年份` = '2019-12' -- 首先指定考試年份AND `考試類(lèi)別` = '期中') a1JOIN (????????????SELECT??`學(xué)號(hào)`, `姓名`,`語(yǔ)文` AS `期末語(yǔ)文`,`數(shù)學(xué)` AS `期末數(shù)學(xué)`,`英語(yǔ)` AS `期末英語(yǔ)`FROM js_1602_class_transcript_ndWHERE `考試年份` = '2019-12' -- 首先指定考試年份????????????AND?????`考試類(lèi)別`?=?'期末') a2ON a1.`學(xué)號(hào)` = a2.`學(xué)號(hào)`;
不知道大家能不能體會(huì)其中的艱難,不到萬(wàn)不得已,誰(shuí)會(huì)自己JOIN自己呀,舉例還是簡(jiǎn)單的,要是js_1602_class_transcript_nd表得從其他地方取,比如從數(shù)學(xué)成績(jī)表取數(shù)學(xué)成績(jī),英語(yǔ)成績(jī)表里取英語(yǔ)成績(jī),語(yǔ)文成績(jī)表里取語(yǔ)文成績(jī),那就更復(fù)雜了,工作中往往就是這么復(fù)雜,雖然也能跑出來(lái),但自己心里就是不舒服,也許是程序員的倔強(qiáng)吧!
所以,這個(gè)時(shí)候,我很倔強(qiáng),靜下心來(lái),想到了vlookup,我只需要在取數(shù)時(shí),這樣:
SELECT??`學(xué)號(hào)`,?`姓名`,?`語(yǔ)文`,?`數(shù)學(xué)`,?`英語(yǔ)`, `考試類(lèi)別`FROM js_1602_class_transcript_ndWHERE `考試年份` = '2019-12' -- 首先指定考試年份;
先去除所有需要的數(shù)據(jù),用Excel打開(kāi),按考試類(lèi)別排序,這是為了區(qū)分開(kāi)期中和期末成績(jī)數(shù)據(jù),剪貼期末成績(jī)到一邊,如下視頻操作:
接下來(lái)我們就可以利用VLOOKUP函數(shù)來(lái)將期末成績(jī)對(duì)接到期中成績(jī)后,如下視頻操作:
如何把其他的也貼過(guò)來(lái)呢,這里我們需要對(duì)函數(shù)里傳的參數(shù)修改,我們需要明確的是我們想把A列所有學(xué)號(hào)在H:M這個(gè)區(qū)域?qū)?yīng)的語(yǔ)文數(shù)學(xué)英語(yǔ)成績(jī)拼接到期中成績(jī)后,所以A列是不變的,搜索區(qū)域是不變的,Excel里在元素前加上美元符$就表示不變,例如:
我的理解:Lookup_value: 表示被匹配值,就是我們?nèi)e的地方取數(shù)的Table_array:匹配值和搜索區(qū)域,匹配值可以與被匹配值匹配,然后通過(guò)Col_index_num取出在搜索區(qū)域內(nèi)自己想要的值Col_index_num:自己想要的數(shù)值在搜索區(qū)域的位置,第幾列Range_lookup: False表示精確匹配最后,如果你看上面還不理解的話,我們看下Excel官方對(duì)VLOOKUP這個(gè)函數(shù)解釋?zhuān)?/span>$A1??--?表示A列不變,行可變$B$1??--?表B列和行號(hào)1都不變

◆?◆?◆ ?◆?◆
長(zhǎng)按二維碼關(guān)注我們
數(shù)據(jù)森麟公眾號(hào)的交流群已經(jīng)建立,許多小伙伴已經(jīng)加入其中,感謝大家的支持。大家可以在群里交流關(guān)于數(shù)據(jù)分析&數(shù)據(jù)挖掘的相關(guān)內(nèi)容,還沒(méi)有加入的小伙伴可以掃描下方管理員二維碼,進(jìn)群前一定要關(guān)注公眾號(hào)奧,關(guān)注后讓管理員幫忙拉進(jìn)群,期待大家的加入。
管理員二維碼:
