excel Match函式不同匹配型別用法解析

2021-10-25 14:31:02 字數 2104 閱讀 1594

match 函式可在特定的搜尋區域搜尋指定值,並返回指定值在搜尋區域中的相對位置。

語法結構

match(lookup_value, lookup_array, [match_type])

通俗說法:match(要查詢相對位置的指定值,搜尋區域,匹配型別)

第乙個引數lookup_value可以是數字、文字或邏輯值,或者對上述型別的引用;

第二個引數lookup_array( 搜尋區域)必須為同行或同列;

第三個引數match_type為匹配型別,即如何將"要查詢相對位置的指定值"與"搜尋區域"中的值進行匹配。匹配型別引數有0、1、-1三種,下面我們通過案例分別進行講解。

匹配型別引數為0

0為精確匹配,即在搜尋區域查詢完全等於指定值的第乙個值,並返回其在搜尋區域中的相對位置。在精確匹配的情況下,搜尋區域中的值可以任意排列,如果找不到指定值返回結果為錯誤值。

應用案例:

下圖**中a1:f1為搜尋區域,當要搜尋的指定值為"5"時,返回了同樣內容為"5"的e1單元格在搜尋區域中的相對位置5;當指定值為"5.8"時,搜尋區域匹配不到完全一樣的值,所以返回結果為錯誤值#n/a。

另外,在精確匹配時如果要搜尋的指定值為文字字串,可在引數lookup_value中使用萬用字元問號 (?) 和星號 (*) ,問號匹配任意單個字元,星號匹配任意一串字元。如果要查詢實際的問號或星號,可在字元前鍵入波形符 (~)。

應用案例:

我們要在搜尋區域a1:f1單元格範圍中查詢文字"秋香",將其在a1:f1單元格中的相對位置返回至e4單元格,可在e4單元格輸入公式:=match("秋?",a1:f1,0),即可返回結果3。在公式中,"秋?"中的"?"代表任意單個字元,意為查詢第乙個字元為"秋"、共由兩個字元組成的文字字串。

匹配型別引數為1

1為模糊匹配,即在搜尋區域查詢小於或等於指定值的最大值,並返回其在搜尋區域中的相對位置。匹配型別引數為1時,搜尋區域的值必須以公升序排列,否則結果容易出現錯誤。

應用案例:

下圖**中第一行數字1-6按公升序排列,第二行數字1-6按降序排列,我們看看在搜尋區域數值相同而排序不同的情況下,搜尋相同的指定值結果有什麼不同。

選中e5單元格,輸入公式:=match(5.8,a1:f1,1),即返回了5(小於或等於指定值5.8的最大值)在搜尋區域a1:f1中的相對位置5,返回結果正確;

選中e6單元格,輸入公式:=match(5.8,a2:f2,1),將指定值5.8與搜尋區域a2:f2單元格內容進行匹配,本應返回5(小於或等於指定值5.8的最大值)在搜尋區域中的相對位置2,因為排序方式有誤,返回了錯誤結果6。

匹配型別引數為-1

-1也是模糊匹配,即在搜尋區域查詢大於或等於指定值的最小值,並返回其在搜尋區域中的相對位置。匹配型別引數為-1時,搜尋區域的值必須按降序排序,否則結果容易出現錯誤。

應用案例:

下圖**中第一行數字1-6按降序排列,第二行數字1-6按公升序排列,我們看看在搜尋區域數值相同而排序不同的情況下,搜尋相同的指定值結果有什麼不同。

選中e5單元格,輸入公式:=match(5.8,a1:f1, -1),即返回了6(大於或等於指定值5.8的最小值)在搜尋區域a1:f1中的相對位置1,返回結果正確;

選中e6單元格,輸入公式:=match(5.8,a2:f2, -1),將指定值5.8與搜尋區域a2:f2單元格內容進行匹配,本應返回6(大於或等於指定值5.8的最小值)在搜尋區域中的相對位置6,因為排序方式有誤,返回了錯誤值#n/a。

html5匹配不同解析度樣式

abc media screen and min width 1201px 設定了瀏覽器寬度不小於1201px時 abc 顯示1200px寬度 media screen and max width 1200px 設定了瀏覽器寬度不大於1200px時 abc 顯示900px寬度 media scree...

JS函式的不同寫法

1.常規函式寫法 function cwfun cwfun 函式呼叫 2.箭頭函式 值得注意的是 箭頭函式this是定義函式時繫結的,繼承父級。res 3.匿名函式 這種函式宣告,左邊為變數,右邊為函式表示式,相當於複製,即 宣告乙個變數指向了乙個函式 var cwfun function cwfu...

python 根據不同引數呼叫不同的函式

有時候需要根據不同的情況呼叫不同的方法實現功能邏輯,有什麼優雅的方式可以實現麼?首先有乙個最原始的if else方式 parm a defa print a defb print b if parm a a elif parm b b 這樣的方式可以實現功能邏輯,但是略顯low,而且後續的擴充套件不...