王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index


3樓貓 發佈時間:2024-12-21 05:46:14 作者:SystemBot-X Language

視頻鏈接

一、Xlookup函數

1.Xlookup函數語法

語法:

XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], , ) =Xlookup(值,查找列,返回值列,找不到顯示,匹配類型,搜索模式)

參數說明:

  1. lookup_value:要查找的值,可以是文本、數字、日期等。

  2. lookup_array:查找的範圍。XLOOKUP 會在此範圍中查找 lookup_value。

  3. return_array:當找到匹配值時,要返回的值的範圍。它的大小應與 lookup_array 相同。

  4. [if_not_found](可選):如果沒有找到匹配項時要返回的值。如果省略此參數,當未找到時將返回 #N/A 錯誤。

  5. (可選):指定查找類型的匹配方式。

  • 0:精確匹配(默認)。

  • -1:查找小於或等於 lookup_value 的最大值。

  • 1:查找大於或等於 lookup_value 的最小值。

  • 2:通配符匹配(支持 * 和 ?)。

  1. (可選):指定查找的方向。

  • 1:從第一個元素到最後一個元素(默認)。

  • -1:從最後一個元素到第一個元素(反向查找)。

2.Xlookup函數應用

(1)單條件查找

語法:

= XLOOKUP(查找值,查找列,返回值列)

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第0張

!注意事項:

  • 用法類似LOOKUP函數,但注意使用LOOKUP函數查找區域需要升序排列

  • 也可以使用VLOOKUP函數,需要注意查找值所在的列必須是在查找區域的最左列

(2)反向查找

語法:

= XLOOKUP(查找值,查找列,返回值列)

示例:根據演員張國榮,查找主演電影

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第1張

!注意事項:

  • XLOOKUP可以反向查找,VLOOKUP常規下不可以反向查找會出錯

(3)多條件查找

語法:

= XLOOKUP(條件1&條件2,條件1區域&條件2區域,返回值區域)

示例:查找導演克里斯托弗·諾蘭在2010年上映的電影

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第2張

!注意事項:

  • 多條件查找也可以使用LOOKUP函數

= LOOKUP(1,0/(條件1*條件2*條件3...條件n),返回列)

(4)查找不到顯示另外值

語法:

= XLOOKUP(查找值,查找列,返回值區域,找不到顯示)

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

示例:查找張藝謀導演的主導的電影

!注意事項:

  • 查不到顯示另外值,如果使用VLOOKUP函數需要結合IFERROR函數

二、Match與Index函數

1.函數語法

(1)Match

語法:

MATCH(lookup_value, lookup_array, )

參數說明:

  1. lookup_value:要查找的值,可以是數字、文本、日期等。這個值會在 lookup_array 中進行查找。

  2. lookup_array:要搜索的範圍或數組。MATCH 會在此範圍中查找 lookup_value。

  3. (可選):指定查找類型的匹配方式。

  • 1 或省略(默認):查找小於或等於 lookup_value 的最大值。lookup_array 必須按升序排列(從小到大)。

  • 0:精確匹配。lookup_array 可以是任何順序。

  • -1:查找大於或等於 lookup_value 的最小值。lookup_array 必須按降序排列(從大到小)。

返回值:

MATCH 返回值在 lookup_array 中的相對位置。如果沒有找到匹配值,MATCH 會返回 #N/A 錯誤。

示例:

假設我們有以下數據:

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

示例1:查找李四的位置

我們想要查找 "李四" 在數組中的位置:

=MATCH("李四", A2:A5, 0)

解釋:

  • lookup_value 是 "李四"。

  • lookup_array 是 A2:A5(姓名列)。

  • match_type 是 0,表示精確匹配。

結果: 該公式返回 2,因為 "李四" 位於第二行。

示例2:查找大於或等於某個值的最小值的位置

假設我們有以下一列數字,且按升序排列:

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

我們想查找小於或等於 25 的最大值的位置:

=MATCH(25, B2:B5, 1)

解釋:

  • lookup_value 是 25。

  • lookup_array 是 B2:B5(數字列)。

  • match_type 是 1,表示查找小於或等於 lookup_value 的最大值。

結果: 該公式返回 2,因為 20 是小於 25 的最大值,它在第二個位置。

示例3:查找文本中的匹配

如果我們想查找某個文本項(如 "張三")的索引:

=MATCH("張三", A2:A5, 0)

結果: 該公式返回 1,因為 "張三" 是該數組中的第一個元素。

(2)Index

語法:

INDEX(array, row_num, )

參數說明:

  1. array:要從中獲取數據的數組或範圍。這個參數包含了所有可能的數據值。

  2. row_num:指定返回值的行號。如果為 0,則表示返回整個列的數組。

  3. (可選):指定返回值的列號。如果不提供 column_num,則假定數組只有一列。

返回值:

INDEX 返回 array 中指定位置的值。根據提供的 row_num 和 column_num 參數,INDEX 會在相應位置返回值。

示例:

假設我們有以下數據表:

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

示例1:從單列中返回值

假設我們想從 姓名 列(A列)返回第2行的值("李四"):

=INDEX(A2:A5, 2)

解釋:

  • array 是 A2:A5,包含所有姓名。

  • row_num 是 2,表示我們需要返回第2行的值。

結果: 該公式返回 "李四"。

示例2:從多列中返回值

假設我們想從表格中返回第3行、第2列的值(即 "35" 對應年齡的值):

=INDEX(A2:C5, 3, 2)

解釋:

  • array 是 A2:C5,包含所有數據。

  • row_num 是 3,表示我們要查找第3行。

  • column_num 是 2,表示我們要查找第2列的值,即 "年齡" 列。

結果: 該公式返回 35,因為 "王五" 的年齡是35。

示例3:返回整行或整列

如果我們想返回整個 "年齡" 列的數據,可以這樣寫:

=INDEX(B2:B5, 0)

解釋:

  • array 是 B2:B5,包含所有年齡數據。

  • row_num 是 0,表示返回整個列的數據。

結果: 該公式返回整個 "年齡" 列的數據:25, 30, 35, 40。

示例4:與 MATCH 函數結合使用

INDEX 和 MATCH 常常結合使用,來查找一個值的位置,並根據該位置返回另一個相關值。假設我們想找出 "王五" 的性別:

=INDEX(C2:C5, MATCH("王五", A2:A5, 0))

解釋:

  • MATCH("王五", A2:A5, 0) 查找 "王五" 在 A2:A5 中的位置,結果為 3。

  • INDEX(C2:C5, 3) 查找 C2:C5 中第3行的值,即 "男"。

結果: 該公式返回 "男",因為 "王五" 的性別是 "男"。

實例

  • 從單個區域中獲取值

=INDEX(A1:C3, 2, 3)

這個公式將返回區域 A1:C3 中第二行第三列的值。

  • 當行號為 0 時,返回整列的值

=INDEX(A1:C3, 0, 2)

這個公式返回區域 A1:C3 中第二列的所有值。

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

兩者一般嵌套使用

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

2.認識column函數

(1)COLUMN函數

語法:

COLUMN([reference])

參數說明:

  • reference(可選):這是一個單元格或區域的引用。如果省略此參數,COLUMN 函數將返回包含公式的單元格所在的列號。

返回值:

  • 如果指定了 reference,COLUMN 返回該引用所在列的列號。

  • 如果沒有指定 reference,則返回包含公式的單元格所在的列號。

示例:

示例1:基本用法

假設我們想知道單元格 B1 所在的列號:

=COLUMN(B1)

解釋:

  • B1 是我們要查詢的單元格。

  • COLUMN 函數返回 B 列的列號,即 2。

結果: 該公式返回 2,因為列 B 是第二列。

示例2:在沒有引用時使用

如果你在 C5 單元格中使用 COLUMN 函數,而沒有指定任何單元格引用:

=COLUMN()

解釋:

  • 因為公式位於 C5,COLUMN 函數返回 C 列的列號,即 3。

結果: 該公式返回 3,因為 C 列是第三列。

示例3:返回一個區域的列號

假設我們想知道區域 A1:C5 的第一個單元格(A1)所在的列號:

=COLUMN(A1:C5)

解釋:

  • A1:C5 是一個區域。

  • COLUMN 函數返回區域第一個單元格 A1 所在列的列號,即 1。

結果: 該公式返回 1,因為 A 列是第一列。

示例4:返回多個列號

如果我們在一個公式中使用一個區域,例如 A1:B5,並希望返回這些列的列號,我們可以使用 COLUMN 函數:

=COLUMN(A1:B5)

解釋:

  • COLUMN 函數返回區域內所有列的列號。

  • 由於區域 A1:B5 包含 A 列和 B 列,所以它會返回兩個列號:1 和 2。

結果: 該公式返回 {1, 2},表示 A 列和 B 列。

示例5:與其他函數結合使用

你可以將 COLUMN 函數與其他函數結合使用。例如,如果你希望根據某個單元格的列號計算距離,可以結合 COLUMN 與 INDIRECT 函數:

=COLUMN(INDIRECT("C1"))

解釋:

  • INDIRECT("C1") 返回 C1 單元格的引用。

  • COLUMN 函數返回 C1 所在的列號,即 3。

結果: 該公式返回 3,因為 C1 在 C 列。

實例:

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

  • 說明:①可獲取單元格或單元格區域的列序號。reference引用為單元格時返回結果是單元格對應的列序號。比如輸入“=COLUMN(C13)”輸出結果為3。②reference 不能引用多個區域。當引用連續幾列時,輸出結果溢出。比如輸入“=COLUMN(C:D)”輸出結果是兩個單元格3和4

(2)COLUMNS函數

語法:

COLUMNS(array)

參數說明:

  • array:這是你要計算列數的單元格區域。你可以指定一個單元格區域、一個行列組合的區域,或者一個數組。

返回值:

  • 返回指定區域中包含的列數。

示例:

示例1:基本用法

假設我們想知道區域 A1:C5 中包含多少列:

=COLUMNS(A1:C5)

解釋:

  • 區域 A1:C5 包括 A 列、B 列和 C 列。

  • COLUMNS 函數將返回該區域的列數。

結果: 該公式返回 3,因為區域 A1:C5 包含 3 列(A、B、C 列)。

示例2:單行區域

如果你想計算一個單行區域中有多少列,假設區域是 A1:Z1,你可以使用:

=COLUMNS(A1:Z1)

解釋:

  • 區域 A1:Z1 包括從 A 列到 Z 列的一整行。

  • COLUMNS 函數將返回該區域的列數。

結果: 該公式返回 26,因為區域 A1:Z1 包含 26 列(從 A 到 Z)。

示例3:計算多個行和列的區域

如果你有一個區域 A1:D10,並想知道該區域有多少列,可以使用:

=COLUMNS(A1:D10)

解釋:

  • 區域 A1:D10 包括 A 列、B 列、C 列和 D 列。

  • COLUMNS 函數將返回該區域的列數。

結果: 該公式返回 4,因為區域 A1:D10 包含 4 列(A、B、C、D 列)。

示例4:結合其他函數使用

你可以將 COLUMNS 函數與其他函數結合使用。例如,如果你想計算某個區域動態變化時的列數,可以結合 OFFSET 函數:

=COLUMNS(OFFSET(A1, 0, 0, 5, 3))

解釋:

  • OFFSET(A1, 0, 0, 5, 3) 返回一個從 A1 開始的區域,包含 5 行和 3 列。

  • COLUMNS 函數返回該區域中的列數。

結果: 該公式返回 3,因為 OFFSET 函數返回了 3 列的區域。

實例

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

  • 說明:①引用單元格或者某列單元格區域時,輸出結果為1。如輸入“=COLUMNS(A13)”或“=COLUMNS(D:D)”,輸出結果均為1。② 引用多列單元格區域時返回結果為列個數。如輸入“=COLUMNS(A1:C12)”,涉及到A、B、C三列,所以輸出結果為3。

(3)COLUMN函數與COLUMNS函數的區別

  • COLUMN 函數用於返回單元格或區域的 列號(數字),它幫助你知道一個單元格處於第幾列。

  • COLUMNS 函數用於返回一個 區域中包含的列數。它告訴你一個指定區域有多少列。

  • COLUMN 返回列的 數字編號,而 COLUMNS 返回列的 數量(即區域中的列數)。

(4)COLUMN函數與VLOOKUP函數結合使用

源數據

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

通過“客戶ID”得出其它數據,在返回列的部分使用column公式

王佩豐Excel基礎教程24講:第12講-Xlookup、Match與Index-第3張

:源數據表頭和要查詢數據表頭一致,不一致可以先調換順序,再查找


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com