不管查找第幾次出現(xiàn)的數(shù)據(jù),用Vlookup函數(shù)這樣做,超簡(jiǎn)單!

Hello,大家好,我是小爽~
每個(gè)產(chǎn)品都有自己的價(jià)格,價(jià)格也有一定的波動(dòng)范圍。
例如雙十一雙十二的活動(dòng)價(jià)格,還有平常的價(jià)格等等~
比如說(shuō),下面的同學(xué)是做汽車銷售的。
每隔一段時(shí)間,汽車的銷售價(jià)格就要做一些調(diào)整。
所以,他現(xiàn)在想要知道,「最近一次和上一次的銷售價(jià)格差異是多少?」

那么問(wèn)題再歸納整理一下就是這樣的:
? 最近一次銷售價(jià)格是多少?
? 上一次銷售價(jià)格是多少?
? 兩者之間的差值是多少?
最終的效果大致是下面這樣子的:

以上問(wèn)題,本質(zhì)上就是一個(gè)數(shù)據(jù)查詢的問(wèn)題,查詢最近一次和上一次的數(shù)據(jù)。
在 Excel 之中,當(dāng)我們要進(jìn)行數(shù)據(jù)查詢時(shí),一般我們會(huì)想到,使用 Vlookup 函數(shù),透視表,或者 Lookup 函數(shù)等等~
那么,大家可以先結(jié)合這幾種思路思考一下~
......思考時(shí)刻……
用 Vlookup 函數(shù)?
好像只能查找第一個(gè)出現(xiàn)的值。
用數(shù)據(jù)透視表?
好像只能得到最大日期的價(jià)格。
用 Lookup 函數(shù)?
雖然可以得到最近的日期的價(jià)格,但是好像不能得到倒數(shù)第二次的價(jià)格。
……
…………思考時(shí)間…………
如果是你,你會(huì)怎么做呢?
好吧,我給大家來(lái)解釋一下,無(wú)論使用哪種方法,都會(huì)遇到困難點(diǎn)——倒序查找。
就是查找最后一次和倒數(shù)第 2 次的數(shù)據(jù)。
前面幾種方法,直接用一個(gè)函數(shù)或者數(shù)據(jù)透視表都很難實(shí)現(xiàn)「自主選擇返回第幾次的數(shù)據(jù)」。
為了滿足這個(gè)需求,我們就要費(fèi)一番周折,借助?Countif 函數(shù)和 Vlookup 函數(shù)來(lái)組合實(shí)現(xiàn)。
好啦,那接下來(lái)我們來(lái)看一下具體的做法。

今天,我就來(lái)給大家介紹一下函數(shù)法~
我們還是以這個(gè)數(shù)據(jù)作為例子。

下面就來(lái)看看具體操作。
01
按照日期進(jìn)行升序排序
? 選中表格,點(diǎn)擊【數(shù)據(jù)】選項(xiàng)卡-【排序】;
【主要關(guān)鍵詞】-「價(jià)格維護(hù)時(shí)間」;
【次序】-「升序」。

「為什么要將日期先進(jìn)行排序呢?」
這里主要是為了后面可以利用 Vlookup 函數(shù),得到最近的一個(gè)價(jià)格。
還是不理解?沒(méi)關(guān)系,先往后繼續(xù)看~

02
添加輔助列
首先新增一列,利用拉燈式得到每個(gè)車型的出現(xiàn)次數(shù)。
(不理解拉燈式?jīng)]關(guān)系,下面馬上就會(huì)講到啦?。?/span>
? 插入列的方法:
可以選中列,右鍵插入;
也可以利用快捷鍵【Ctrl+shift+=】,直接在左邊插入一列。

??利用拉燈式得到每個(gè)車型的出現(xiàn)次數(shù)。
A2 單元格輸入公式如下:
=COUNTIF($B$2:B2,B2)

??在價(jià)格列前面添加輔助列,將次數(shù)和車型連接起來(lái)。
公式如下:
=A2&B2

看到這里,肯定有小伙伴疑惑了:
第一個(gè)輔助列用 Countif 函數(shù)的目的是?
什么是拉燈模式,拉燈模式是干嘛的?
最后為啥將 A 列和 B 列合并?

下面我們就來(lái)解析一下~
Q1:第一個(gè)輔助列用 Countif 函數(shù)的目的是?
第一個(gè)輔助列,我們用的是 Countif 函數(shù),主要是得到各類車型依次出現(xiàn)的次數(shù)。
Countif 函數(shù),能夠?qū)^(qū)域中滿足單個(gè)指定條件的單元格進(jìn)行計(jì)數(shù)。
基本語(yǔ)法為:=COUNTIF(查找區(qū)域,條件)
第一個(gè)輔助列:
A2 單元格:
=COUNTIF($B$2:B2,B2)
就是在 B2 到 B2 的區(qū)域中找 B2,也就是中卡車出現(xiàn) 1 次。
A3 單元格:
=COUNTIF($B$2:B3,B3)
就是在 B2 到 B3 的區(qū)域中找 B3,也就是大卡車出現(xiàn) 1 次。
A4 單元格:
=COUNTIF($B$2:B4,B4)
就是在 B2 到 B4 的區(qū)域中找 B4,也就是中卡車出現(xiàn) 2 次。
……
如此循環(huán)下去,這里我們看到中卡車一共出現(xiàn)了 5 次。

Q2:什么是拉燈模式,拉燈模式是干嘛的?
拉燈模式:?jiǎn)瘟袇^(qū)域中,起始單元格絕對(duì)引用,結(jié)尾單元格相對(duì)引用。
比如「$A$1:A1」,像拉燈一樣頭端固定,向下拉長(zhǎng)度變化的動(dòng)態(tài)區(qū)域。
下面我做了一個(gè)簡(jiǎn)單的圖示,可以簡(jiǎn)單了解一下:

Q3:最后,為啥將 A 列和 B 列合并?
C 列中我們將 A 列和 B 列進(jìn)行合并是由于:
后面我們需要用到 Vlookup 函數(shù)進(jìn)行查詢。
而 Vlookup 函數(shù)只能查找第一次出現(xiàn)的值,對(duì)于重復(fù)出現(xiàn)的值沒(méi)辦法進(jìn)行查找。
Vlookup 基本語(yǔ)法:
=VLOOKUP(找啥,在哪里找,返回的在第幾列,匹配方式)
A 列是出現(xiàn)的次數(shù),B 列是車型。
兩列合并不僅可以構(gòu)造不重復(fù)的值,而且「次數(shù)&車型」,我們也可以得到第幾次出現(xiàn)的值。
比如下面:
「2&中卡車」的公式,這里我們可以查找「中卡車第二次出現(xiàn)」的價(jià)格。
=VLOOKUP(2&"中卡車",C1:E12,2,FALSE)
結(jié)果為 92000。

通過(guò)上面的解釋,你是否看懂了呢?

如果明白了上面的解釋,下面編寫(xiě)公式就難不倒你了~
03
編寫(xiě)公式
??查找最近一次日期,?I2?單元格中輸入公式:
=VLOOKUP(COUNTIF($B$2:$B$12,$H2)&$H2,$C$1:$E$12,2,FALSE)

??查找倒數(shù)第二次日期,?J2?單元格輸入公式:
=VLOOKUP((COUNTIF($B$2:$B$12,$H2)-1)&$H2,$C$1:$E$12,2,FALSE)

??最后計(jì)算兩個(gè)的差值,?K2?單元格輸入公式:
=I2-J2

下面我們就來(lái)簡(jiǎn)單解析一下公式~
前面我們知道了,可以利用 Vlookup 函數(shù),通過(guò)「次數(shù)&車型」來(lái)查找,獲得第幾次出現(xiàn)的價(jià)格;
最前面,我們也已經(jīng)將日期進(jìn)行升序排序了。
那么,如果想要獲得「某種車最近一次日期」的價(jià)格,我們可以利用 Vlookup 函數(shù)。
比如:通過(guò)查找「小轎車一共出現(xiàn)的次數(shù)&小轎車」的價(jià)格,也就是最近一次日期的價(jià)格。
那如何才能得到小轎車的總次數(shù)?
前面我們介紹過(guò)?Countif 函數(shù),它可以得到小轎車在某個(gè)區(qū)域中出現(xiàn)的總次數(shù),公式如下:=COUNTIF(區(qū)域,「小轎車」)

所以,在?I2?單元格中輸入公式如下,得到最近一次日期:
=VLOOKUP(COUNTIF($B$2:$B$12,$H2)&$H2,$C$1:$E$12,2,FALSE)
在?J2?單元格中輸入公式如下,得到上一次日期:
=VLOOKUP((COUNTIF($B$2:$B$12,$H2)-1)&$H2,$C$1:$E$12,2,FALSE)
最后兩者差值,直接相減就可以得到啦~

好啦,總結(jié)一下,本文涉及到的知識(shí)點(diǎn)和思路有:
??通過(guò)排序為后面獲取最大值做準(zhǔn)備。
??借助?Countif 拉燈模式獲得車型依次出現(xiàn)的次數(shù)。
??通過(guò)輔助列構(gòu)造不重復(fù)值,再用 Vlookup 函數(shù)進(jìn)行查找。
04
小延伸
前面,我們是將日期先進(jìn)行升序排序。
后面,通過(guò)計(jì)算各車的總次數(shù),還有次數(shù)減 1,利用 Vlookup 函數(shù)返回對(duì)應(yīng)的價(jià)格。
那么我們逆向思考一下。
如果我們事先將日期進(jìn)行降序排序。
后面就可以直接用「1&車」,「2&車」,分別利用 Vlookup 函數(shù)得到最近一個(gè)日期,還有倒數(shù)第二次的價(jià)格。
這樣就少了后面 Countif 函數(shù)計(jì)數(shù)的那一步了。
這其實(shí)是一個(gè)逆向的思路,我們關(guān)鍵是理解思路背后的原理。
前面我們是用組合公式完成的,對(duì)吧?
但是組合公式還有幾個(gè)缺點(diǎn):
? 每次都需要提前將數(shù)據(jù)按照日期進(jìn)行排序;
?需要寫(xiě)很多輔助列;
? 數(shù)據(jù)無(wú)法自動(dòng)更新。
而這些缺點(diǎn),使用一個(gè)叫做?Power Query?的神器都可以通通解決掉??!
看一下演示的效果~

整個(gè)過(guò)程不需要事先對(duì)數(shù)據(jù)進(jìn)行排序,不需要做輔助列。
直接在右邊的結(jié)果上面,右鍵點(diǎn)擊刷新,就可以完成數(shù)據(jù)的更新。
一勞永逸的感覺(jué),有沒(méi)有!
想要知道這個(gè)是怎么做的嗎?快快給我點(diǎn)贊吧!
點(diǎn)贊越多,我寫(xiě)文章就寫(xiě)得越快,可能下篇文章我們就可以來(lái)聊這個(gè)話題。
還有任何疑問(wèn),或者其他做法,歡迎在后臺(tái)留言和小爽互動(dòng),有用的話可以動(dòng)動(dòng)手轉(zhuǎn)轉(zhuǎn)發(fā)~
如果你想獲取學(xué)習(xí)更多Excel知識(shí)技巧,歡迎報(bào)名參加我們的《3天Excel集訓(xùn)營(yíng)》,由拉登老師親自為你揭秘~
原價(jià)?99 元?的課程
現(xiàn)在僅需 1 元!
買(mǎi)課還送《35個(gè)函數(shù)使用手冊(cè)》
在線學(xué)員答疑交流群
……
?
提升自己就現(xiàn)在
馬上掃描下方二維碼
給自己的職場(chǎng)能力充值吧!

*廣告