日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

 精靈圖書館124 2019-05-13

數(shù)據(jù)查詢是Excel數(shù)據(jù)處理中的一項核心業(yè)務(wù),也是日常辦公中使用頻率非常高的一項操作。數(shù)據(jù)查詢業(yè)務(wù)需求多,而且具有較強的技巧性,因此它也是職場必學(xué)的一門技能。

本篇文章從最基本的數(shù)據(jù)查詢的概念講起,逐一介紹數(shù)據(jù)查詢的各種應(yīng)用場景,及其相應(yīng)的查詢方法,并深入分析每種查詢方法的特點和注意事項,

一、 概念的界定

本文所說的“查詢”與普通的“查找”不用?!安檎摇本褪呛唵蔚钠ヅ鋯栴},而“查詢”則是根據(jù)條件去匹配結(jié)果,是間接的、更高級的查找。舉個例子,比如在下表中需要查找“趙月琴”老師有哪幾場監(jiān)考,可以按CTRL+F鍵,調(diào)出【查找與替換】窗口,點擊【查找全部】即可找出所有包含關(guān)鍵字“趙月琴”的單元格。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖1

比如在下表中需要根據(jù)考號,查找對應(yīng)學(xué)生的姓名信息,可以使用VLOOKUP函數(shù)查詢。這里查找的不是考號,而是與考號相關(guān)聯(lián)的姓名信息!

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖2

二、 查詢的分類

我們可以根據(jù)查詢的條件與結(jié)果,將查詢操作分為不同的類別。

根據(jù)是否精確匹配條件,可將查詢操作分為精確查詢與模糊查詢;根據(jù)條件與結(jié)果數(shù)目,可將查詢操作分為一(條件)對一(結(jié)果)查詢、多對一查詢、一對多查詢、多對多查詢;根據(jù)數(shù)據(jù)搜索方向,可將查詢操作分為正向查詢與反向查詢。

以上分類主要針對使用函數(shù)與公式進(jìn)行查詢的操作,除此之外還可以用Excel VBA進(jìn)行查詢。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖3

1. 精確查詢與模糊查詢

(1)精確查詢:精確匹配查詢條件,返回一個或多個結(jié)果。

圖2所示用VLOOKUP函數(shù)根據(jù)學(xué)生考號,查詢對應(yīng)姓名,這樣的查詢即為精確查詢。能夠進(jìn)行精確查詢的函數(shù)或公式非常多,最常用的是LOOK系列函和INDEX+MATCH函數(shù)組合,甚至是IF+SMALL+INDEX等函數(shù)組合也能做到。

(2)模糊查詢:根據(jù)條件進(jìn)行模糊匹配,返回一個或多個結(jié)果。

一般采用通配符?和*進(jìn)行模糊查詢。比如“馬*”可以匹配所有以“馬”開頭的字符串,比如“馬婭婭”、“馬學(xué)松”等;“*三*”可以匹配所有包含“三”的字符串,比如“高三7班”、“初三2班”等。

如下表所示,我們可以根據(jù)“馬*”查找第一個姓馬的學(xué)生對應(yīng)的班級。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖4

2. 多(單)條件與多(單)結(jié)果查詢

(1)一對一查詢:根據(jù)一個條件查詢出唯一的結(jié)果。

這種查詢方式是日常工作中所見最多的,但這種查詢要求查詢條件在對應(yīng)查詢區(qū)域是唯一的,比如身份證號、學(xué)號等均可作為查詢條件。我們結(jié)合實例來看看常見的一對一查詢函數(shù)或公式有哪些。

查詢?nèi)蝿?wù):根據(jù)下圖所示的考場安排表,查找G2單元格對應(yīng)考號的學(xué)生姓名。

方法1:LOOKUP(查詢值,查詢區(qū)域,返回值區(qū)域)

LOOKUP函數(shù)是最簡單,但同時也是最強大的查詢函數(shù),上式是其最簡單的一種用法。我們在H2單元格輸入如下公式。

=LOOKUP(G2,A1:A11,D1:D11)

公式在A1:A11區(qū)域查詢G2單元格對應(yīng)值,發(fā)現(xiàn)在第5行,因此返回D1:D11區(qū)域的第5行單元格的值,為“陳衍林”。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖5

方法2:VLOOKUP(查詢值,查詢區(qū)域,返回查詢區(qū)域第幾列值,0)

用VLOOKUP函數(shù)進(jìn)行查詢需注意,查詢值必須在對應(yīng)查詢區(qū)域的第1列(即由前到后查詢),而且第3個參數(shù)對應(yīng)的數(shù)值表示的不是工作表的第幾列,而是對應(yīng)查詢區(qū)域的第幾列。

如下圖所示,在H2單元格輸入如下公式。

=VLOOKUP(G2,A1:E11,4,0)

公式非常容易理解,在A1:E11區(qū)域查找G2單元格對應(yīng)的值,發(fā)現(xiàn)在第5行,因此返回此區(qū)域第4列第5行單元格的值,為“陳衍林”,采用的是精確匹配模式。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖6

方法3:INDEX(返回值區(qū)域,MATCH(查詢值,查詢區(qū)域,0))

INDEX+MATCH是查詢操作中的“黃金組合”,可完成各種各樣的查詢,功能十分強大!

如下圖所示在H2單元格輸入如下公式。

=INDEX(D1:D11,MATCH(G2,A1:A11,0))

公式中先用MATCH函數(shù)查詢G2單元格對應(yīng)的考號在A1:A11這一列的第幾行,采用的是精確匹配模式,發(fā)現(xiàn)在第5行。然后用INDEX函數(shù)返回D1:D11這一列數(shù)據(jù)第5行對應(yīng)單元格的值,為“陳衍林”。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖7

(2)多對一查詢:即查詢同時滿足多個條件的的數(shù)據(jù),并返回唯一的結(jié)果,俗稱“多條件查詢”。

查詢?nèi)蝿?wù):根據(jù)下圖所示的考場安排表,查找考場為“高三6”同時座位號為7的學(xué)生姓名。

方法1:LOOKUP(1,0/(條件1*條件2*...*條件n),返回值區(qū)域)

這個公式俗稱多條件查詢的萬金油公式,可以滿足任意多個條件的查詢(自然也可用作一對一查詢)。這個公式很多初學(xué)者朋友很不理解,下面我們結(jié)合實例來具體講一下。

如下圖所示,我們在I2單元格輸入如下公式。

=LOOKUP(1,0/((G2=B1:B11)*(H2=C1:C11)),D1:D11)

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖8

LOOKUP函數(shù)有一個特點,就是如果找不到查詢值,則返回查詢區(qū)域中小于或等于查詢值的最大值。根據(jù)LOOK函數(shù)的這個特點,我們用G2=B1:B11返回的是一個數(shù)組。

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

我們可以選中公式中的這一部分,然后按F9顯示結(jié)果,如下圖所示。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖9

同理,H2=C1:C11也返回一個數(shù)組,然后兩個數(shù)組相乘,TRUE和FALSE在計算式會轉(zhuǎn)化為1和0,因此(G2=B1:B11)*(H2=C1:C11)最終返回的結(jié)果為:

{0;0;0;0;0;1;0;0;0;0;0}

即只有第6個數(shù)據(jù)為1,其余全部為0。然后用0去除這個數(shù)組,因為0除0會得到錯誤,0除1為0,因此0/((G2=B1:B11)*(H2=C1:C11))返回的數(shù)組只有第6個數(shù)據(jù)為0,其余全是錯誤值:

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

然后在上面這個數(shù)組中查詢數(shù)值1,顯然查詢不到,因此返回小于等于1的最大值,即0,其所在位置第6行!最后取D1:A11區(qū)域的第6行單元格對應(yīng)的值,為“馬婭婭”!

方法2:“VLOOKUP+輔助列”也可進(jìn)行多條件查找

“VLOOKUP+輔助列”的方法雖然稍顯麻煩,但也可進(jìn)行多條件查詢,尤其是對于新手朋友來說,VLOOKUP函數(shù)掌握的比較牢,希望借助其解決多條件查詢問題。

如下圖所示,我們在第一列插入一個輔助列,將C列數(shù)據(jù)和D列數(shù)據(jù)用&符號連接成為一個新的字符串。然后在J2單元格輸入如下公式。

=VLOOKUP(H2&I2,A1:F11,5,0)

公式其實是在A1:F11區(qū)域搜索“高三67”這個字符串(由H2和I2拼接而成的)的位置,發(fā)現(xiàn)在第6行,因此返回此區(qū)域第5列第6行單元格的值,為“馬婭婭”。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖10

(3)一對多查詢:查詢滿足一個條件的多個結(jié)果,返回多條記錄。

查詢?nèi)蝿?wù):查詢所有座位號為7的學(xué)生姓名。

首先得建立一個輔助列,統(tǒng)計座位號7第幾次出現(xiàn),然后用VLOOKUP或者INDEX+MATCH等都可以查詢出多條記錄。

建立輔助列是一對多查詢的關(guān)鍵,我們在第1列建立輔助列,在A2單元格輸入如下公式,并雙擊向下復(fù)制至A11單元格。

=(D2=$H$2)+N(A1)

公式很簡單,D2=$H$2判斷D2是否與H2(座位號7)相等,返回TRUE或FALSE,N(A1)返回A1單元格對應(yīng)的值(為0)。當(dāng)公式向下復(fù)制的時候,$H$2采用絕對引用,不會發(fā)生改變,而D2和A1會逐漸變成D3、D4....D11和A1、A2...A10,因此得到的結(jié)果即為座位號7第幾次出現(xiàn)。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖11

然后,我們就可用VLOOKUP或者INDEX+MATCH等查詢結(jié)果。以VLOOKUP函數(shù)為例,在I2單元格輸入如下公式,并向下復(fù)制至i11單元格。

=IFERROR(VLOOKUP(ROW(A1),$A$1:$F$11,5,0),'')

注意公式中的查詢區(qū)域$A$1:$F$11必須采用絕對引用方式,否則在向下復(fù)制的過程中就會改變。公式巧妙之處在于不是直接查詢座位號7,而是在輔助列查詢1、2、3等數(shù)字(ROW(A1)的返回值),返回匹配的第一個數(shù)據(jù),藉此找到查詢區(qū)域第5列對應(yīng)單元格的值。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖12

這里的IFERROR函數(shù)是為了屏蔽查詢不到產(chǎn)生的錯誤值。

如果使用INDEX+MATCH組合查詢的話,對應(yīng)I2單元格的公式則為:

=IFERROR(INDEX($E$1:$E$11,MATCH(ROW(A1),$A$1:$A$11,0)),'')

如下圖所示。注意公式中的兩個絕對引用方式不能變。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖13

那如果不建立輔助列,能不能進(jìn)行一對多查詢呢?答案是肯定的!只是需要借助更加復(fù)雜的公式組合。如下圖所示在H2單元格輸入如下公式,然后按CTRL+SHIFT+ENTER組合鍵確定輸入,因為這是一個數(shù)組公式。

=IFERROR(INDEX($D$1:$D$11,SMALL(IF($C$1:$C$11=$G$2,ROW($A$1:$A$11)),ROW(A1))),'')

然后雙擊向下復(fù)制至H11單元格即可。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖14

這個公式組合相當(dāng)巧妙,下面簡單做一說明。

首先用IF($C$1:$C$11=$G$2,ROW($A$1:$A$11))逐個判斷C1:C11這一列數(shù)據(jù)是否和G2相等,如果相等則返回對應(yīng)行號,我們選擇這部分公式按F9鍵顯示結(jié)果為:

{FALSE;FALSE;FALSE;FALSE;FALSE;6;FALSE;8;FALSE;FALSE;FALSE}

發(fā)現(xiàn)只有6和8,其余均為FALSE,表示只有在第6行和第8行找到了座位號7。

然后用SMALL函數(shù)查找第1、2、3...最小值,因為數(shù)值數(shù)據(jù)都是小于邏輯值FALSE的,因此SMALL(...,ROW(A1))返回的是第一個最小值,為6,SMALL(...,ROW(A2))返回的是第二個最小值,為8。因此最后用INDEX函數(shù)就可查詢到對應(yīng)第6行和第8行數(shù)據(jù)!

(4)多對多查詢:根據(jù)多個條件查詢多個結(jié)果。

這種查詢方式是多條件查找和一對多查詢的結(jié)合,有了前面的基礎(chǔ),對于多對對查詢就不難理解了。

查詢?nèi)蝿?wù):根據(jù)下圖所示的考場信息表,查詢高三6班考場所有的3班學(xué)生。

我們在I2單元格輸入如下數(shù)組公式,并用CTRL+SHIFT+ENTER鍵確定輸入,然后向下復(fù)制至I11單元格。

=IFERROR(INDEX($D$1:$D$11,SMALL(IF(($B$1:$B$11=$G$2)*($E$1:$E$11=$H$2),ROW($A$1:$A$11)),ROW(A1))),'')

大家發(fā)現(xiàn)了嗎?我們只是將上一個公式的IF條件判斷,由單條件變成了多條件而已($B$1:$B$11=$G$2)*($E$1:$E$11=$H$2),其他的部分是一致的。如下圖所示。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖15

我們當(dāng)然也可以像上面“多對一查詢”一樣借助輔助列,然后用VLOOKUP函數(shù)或者INDEX+MATCH組合進(jìn)行多對多查詢!

3. 正向查詢與反向查詢

這兩種查詢方式的區(qū)別在于數(shù)據(jù)搜索的方向,比如根據(jù)考號查找姓名屬于正向查詢,根據(jù)姓名查找考號則屬于反向查詢。截止此處,以上案例均為正向查詢!

VLOOKUP函數(shù)就是一個典型的默認(rèn)情況下,只支持正向查詢的一個函數(shù),它要求查詢值必須在查詢區(qū)域的第一列。而其他的查詢函數(shù)則沒有這個限制,不管查詢值與查詢區(qū)域誰前誰后,比如LOOKUP函數(shù)、INDEX+MATCH函數(shù)組合。

下面重點舉例說說反向查詢。

查詢?nèi)蝿?wù):根據(jù)姓名查詢對應(yīng)考號信息。

以INDEX+MATCH組合為例,只需要在H2單元格輸入如下公式即可。

=INDEX(A1:A11,MATCH(G2,D1:D11,0))

有了前文查找的基礎(chǔ),相信大家對于這個公式應(yīng)該很容易理解。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖16

這里強調(diào)一點,雖然說VLOOKUP默認(rèn)不支持反向查詢,但是我們卻可以通過數(shù)據(jù)重組的方式,間接地實現(xiàn)反向查詢。如下圖所示,我們在H2單元格輸入如下公式。

=VLOOKUP(G2,IF({1,0},D1:D11,A1:A11),2,0)

公式利用一個IF函數(shù)將D1:D11和A1:A11調(diào)整了前后順序,構(gòu)建出了一個新數(shù)組,這個數(shù)組姓名在前、考號在后,然后就可以用VLOOKUP函數(shù)進(jìn)行正向查詢,得到正確的結(jié)果!如下圖所示。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖17

4. 使用Excel VBA進(jìn)行復(fù)雜查詢

一些更加復(fù)雜的查詢方式很難通過函數(shù)或公式進(jìn)行查詢,此時可以借助VBA,進(jìn)行自定義查詢。比如我們現(xiàn)在需要查詢考場為“高三6”,座位號小于6,且班級為7或3的所有學(xué)生姓名。

我們按ALT+F11打開VBA代碼編輯窗口,新建一個模塊,并定義一個名為“FINDNAME”的過程。

Sub FINDNAME() Dim arr(1 To 11) As String For i = 1 To 11 If (Range('B' & i).Value = '高三6' _ And Range('C' & i).Value < 6 _ And (Range('E' & i) = 7 _ Or Range('E' & i) = 3)) _ Then Count = Count + 1 arr(Count) = Range('D' & i).Value End If Next i For j = 1 To Count Range('G' & j).Value = arr(j) Next jEnd Sub

最后運行此過程即可在G列列舉出所有滿足條件的結(jié)果。

一篇文章帶你全面掌握Excel中的各種數(shù)據(jù)查詢知識與技巧

圖18

更多關(guān)于VBA的查詢方法就不再贅述。

三、總結(jié)

以上列舉了很多日常辦公中經(jīng)常遇到的查詢問題,并詳細(xì)討論了每一種問題的可行方案,不管是用公式還是用VBA代碼,往往查詢方案不止一種,筆者也是盡量按由易到難的順序進(jìn)行探討各種解決方案。

這里要強調(diào)的是,一方面,公式并不是越長就越好,就好比在進(jìn)行“一對多查詢”時IF+SMALL+INDEX的方法雖然一步到位解決了問題,但是尤其對于初學(xué)者而言時很難一下就理解透徹的,因此INDEX+MATCH組合查詢方案是最好的選擇。

另一方面,我們?yōu)榱藬⑹龇奖?,在文中將查詢操作分為了好幾類,但實際上查詢操作往往是復(fù)雜的、多變的,需要結(jié)合多種方法綜合施策。希望大家能在以后的日常辦公中多多實踐,嘗試各種查詢方法,做到熟能生巧、舉一反三。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多