設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

Excel 多條件查找引用技巧

秋葉Excel 2022/12/23 15:03:03 責(zé)編:遠(yuǎn)生

我們公司最近也正在招聘新員工,我也順便去網(wǎng)上溜達(dá)了下。

看到很多崗位的招聘要求上都寫著:「熟練使用 Excel 等辦公軟件」,而且在面試的時(shí)候還都有上機(jī)操作的題目。

然后就去網(wǎng)上搜了搜,看看 Excel 面試題都是什么內(nèi)容、什么水準(zhǔn)的題目,測試下自己能不能搞定。

在這個(gè)過程中,我發(fā)現(xiàn)了一道面試題,挺有意思的,今天分享給大家。

下表記錄的是公司客戶的每一次來店日期,要求:函數(shù)提取出客戶最后一次來店日期。

乍一看好像不難,但是對于小白而言,可能還是需要下一番功夫。

在簡歷上寫著熟練或者精通 Excel 的人,估計(jì)有相當(dāng)一部分是做不出來的

分析問題

我們先來分析下這道題!

這個(gè)題目是一個(gè)雙條件查找引用,而且是查找最后一次的【來店日期】。

比如:客戶【張三】有很多重名的,【客戶編號(hào)】也有重復(fù)的。

要求:提取出姓名為【張三】,并且編號(hào)為【MD003】的最后一次【來店日期】。

在圖中:【張三】【MD003】的【來店日期】一共有兩次。

第一次:2022-1-4

第二次(也就是最后一次):2022-1-8

思考一下,如果是你,你會(huì)用什么辦法呢?

對于查找,我最先想到的是用 Vlookup 函數(shù)(可能有很多人的第一反應(yīng)也是這個(gè)),因?yàn)榈矊W(xué)習(xí) Excel 的人都會(huì)接觸到它,它也是最常用的查找函數(shù)。

這個(gè)思路是對的,Vlookup 還真能解決這個(gè)問題,下面我們就一起來看看~

解決問題

▋方法 1

Vlookup 通常用于單條件查找,對于雙條件或者更多條件的查找時(shí),它自己無法單獨(dú)完成……

那該怎么辦呢?

我們可以結(jié)合 IF 函數(shù)來實(shí)現(xiàn)雙條件查找。

如下圖:

公式如下:

=VLOOKUP(1,IF({1,0},0/(E2&F2=$A$2:$A$15&$B$2:$B$15),$C$2:$C$15),2,1)

公式大概的意思是:

利用二分法查找的原理,匹配最后一個(gè)符合條件的值。

用 if {1,0} 組成一個(gè)查找區(qū)域和返回區(qū)域,

條件區(qū)域是:

$A$2:$A$15&$B$2:$B$15

把兩個(gè)條件 E2 與 F2 用連接符(&)連在一起,然后與 A2:A15 與 B2:B15 的連接起來?xiàng)l件區(qū)域相比較,

E2&F2=$A$2:$A$15&$B$2:$B$15

如果相同就返回 TRUE, 否則就返回 FALSE,

結(jié)果如下:

{FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

然后用 0 除以這個(gè)數(shù)組,得到一個(gè)由 0 和錯(cuò)誤值組成的內(nèi)存數(shù)組。

{#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}

其中:有兩個(gè) 0 就是跟查找條件一樣,最后用比 0 大的任何一個(gè)值 ,這里使用 1 去查找最后一個(gè) 0 出現(xiàn)的位置,并返回在 $C$2:$C$15 對應(yīng)的單元格內(nèi)容。

需要注意的是:

此公式為數(shù)組公式需要按三鍵【Ctrl+Shift+Enter】結(jié)束公式輸入。

如果是 Office 365 可以直接按【Enter】。

▋方法 2

對于大部分小伙伴們來說,如此復(fù)雜的公式不一定會(huì)用……

那該怎么辦呢?

別急!

面試時(shí)一定要穩(wěn)??!

如果只看題目要求的話,我們可以變通下,讓 V 函數(shù)使用起來更簡單點(diǎn)。

這里我們可以將兩個(gè)條件變成一個(gè)條件,將返回最后一個(gè)值,變成返回第一個(gè)值。

需要做的是:增加一個(gè)輔助列,并且對數(shù)據(jù)源做個(gè)排序。

具體是什么意思呢?往下看 ↓↓↓

添加輔助列

這一步的目的是將兩個(gè)條件變成一個(gè)條件。

在【A】列增加一個(gè)輔助列:

在 A2 單元格中輸入如下公式:

=B2&C2

將 B2 的客戶名稱和 C2 的客戶編號(hào)用連接符(&)連接在一起,組成一個(gè)條件。

并將公式下拉填充到【A15】。

? 排序

這一步的目的是將最大的日期排到最上面。以便 V 函數(shù)查找第一個(gè)值。

在【數(shù)據(jù)選項(xiàng)卡】中調(diào)出【排序】對話框:

并在【排序】對話框中設(shè)置三個(gè)排序。

第一關(guān)鍵字:客戶名稱,升序

第二關(guān)鍵字:客戶編號(hào),升序

第三關(guān)鍵字:來店日期,降序

最后單擊【確定】,排序結(jié)果就出來了。

如下圖:

輸入公式

這一步就可以和平常使用 V 函數(shù)做一樣的操作啦!

如下圖:

公式如下:

=VLOOKUP(F2&G2,$A$1:$D$15,4,0)

公式的意思是:

將 F2 和 G2 兩個(gè)單元格的內(nèi)容連接在一起,組成一個(gè)條件,然后在以輔助列開始的【A1:D15】這個(gè)區(qū)域查找第一次出現(xiàn)的日期(也就是最后一次來店日期),并返回第 4 列對應(yīng)的值。

PS:這個(gè)方法是采取了變通的方式。有些時(shí)候使用輔助列來解決問題也是一個(gè)不錯(cuò)的思路。

▋方法 3

另外,這道題是求最后一次來店日期。

那么最后一次的來店日期也就是最大的日期。

因此我們也可以用 MAX+IF 組合來完成。

所以我們可以寫成下面這樣:

=MAX(IF($A$2:$A$15&$B$2:$B$15=E2&F2,$C$2:$C$15))

公式解析:

先將 A 列與 B 列兩個(gè)條件區(qū)域連接成一個(gè)條件區(qū)域,再和 E 列與 F 列中的條件相比較,如果條件相同,就返回 C 列的區(qū)域。最后用 MAX 返回其中最大一個(gè)日期值(也就是最后一次來店日期)。

如果你的版本是 Office 2016 版以上,還可以使用 MAXIFS 函數(shù)。

=MAXIFS(C:C,A:A,E2,B:B,F2)

Maxifs 函數(shù)的用法跟 Sumifs 的函數(shù)用法一樣。

第一參數(shù)是:返回的區(qū)域

第二參數(shù)是:條件區(qū)域

第三參數(shù)是:條件

基本套路為:

=MAXIFS返回的區(qū)域,條件區(qū)域 1,條件 1,條件區(qū)域 2,條件 2……)

條件區(qū)域和條件對,最多可輸入 126 對。

知識(shí)拓展

如果題目沒有一定要求用函數(shù)解決的話,用透視表可能更加簡單。

在【插入選項(xiàng)卡】中點(diǎn)擊【數(shù)據(jù)透視表】,調(diào)出【數(shù)據(jù)透視表】對話框。

選中【A1:C5】,并選擇【現(xiàn)有工作表】中的【E7】單元格,最后點(diǎn)【確定】。

然后將【客戶名稱】和【客戶編號(hào)】拖到【行區(qū)域】,【來店日期】拖到【值區(qū)域】

對客戶編號(hào)進(jìn)行篩選,

選中【計(jì)數(shù)項(xiàng): 來店日期】右鍵設(shè)置為:最大值。

最終效果如下圖:

好了,我們的面試題這就做完了!

但是,問題來了,你怎么知道結(jié)果是否正確呢?

我們在做表的時(shí)候,千萬要牢記一點(diǎn),就是要有核對機(jī)制。

比如:我們使用 V 函數(shù)得出的結(jié)果如下:

有的應(yīng)聘者可能會(huì)在 H 列用其他函數(shù)(比如:MAX+IF 函數(shù))再校驗(yàn)一次,

最后用兩個(gè)不同的函數(shù)得出的結(jié)果值進(jìn)行比較,并將比較結(jié)果放在 I 列。

如果為 true,就是兩次結(jié)果相同。

如果為 false,就是不同,應(yīng)進(jìn)一步查明問題所在。

當(dāng)然也可以用其他的方法來校驗(yàn),比如透視表等。方法可以自己選擇。

總結(jié)一下

今天介紹了如下方法進(jìn)行多條件查找引用:

VLOOKUP 函數(shù)

此函數(shù)在多條件查找時(shí)需要結(jié)合 IF 函數(shù)進(jìn)行數(shù)據(jù)重新構(gòu)造,比較復(fù)雜。

VLOOKUP 函數(shù) + 輔助列

這種方法適應(yīng)性比較強(qiáng),小白也容易上手。

? MAX+IF 函數(shù)組合

采用的數(shù)組判斷的方法,適合有一定數(shù)組基礎(chǔ)的人使用。

MAXIFS 函數(shù)

使用方法簡單,但只能在 OFFICE 2016 以上的版本中使用。

? 透視表

方法最為簡單,適用范圍廣。

另外,在職場中,千萬記得做完一件事之后,一定要有核對機(jī)制。

并且要有據(jù)可查!

職場中有時(shí)拼的不僅僅是技能,更重要的是經(jīng)驗(yàn)!

本文來自微信公眾號(hào):秋葉 Excel (ID:excel100),作者:明鏡在心,審核:小爽,編輯:竺蘭

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:Excel教程,Excel學(xué)院

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知