excel match函式 match type為1時,在不排序的情況下,返回值的邏輯是什麼?

時間 2021-06-20 21:28:05

1樓:徐徐不倦

當MATCH的第三引數為1或省略時,MATCH返回的是「小於或等於查詢值的最大值」,使用的是「二分法邏輯」。

1、舉個例子

先舉個簡單的例子:32名學生從低到高站隊,現在要從中找出一名「身高小於或等於170cm的、最高的學生」。有兩名老師分別採用了不同的方法。

第一名老師直接從第1個學生開始量,140cm;再量第2名,142cm;再量第3名,145cm……終於量到了第11名學生,168cm;第12名學生,171cm。然後老師說我找到了,第11名就是「身高小於或等於170cm的最高的學生」。

第二名老師直接先量第16名學生的身高,175cm;然後再量第8名,159cm;然後再量第12名,171cm,然後再量第10名,165cm;最後再量第11名,168cm。然後這名老師也說我找到了,第11名就是「身高小於或等於170cm的最高的學生」。

第一名老師一共量了12次,第二名老師一共量了5次,詳細的測量策略見圖:

如果下次要找身高180cm的學生,第一名老師恐怕要量21次;而無論查詢哪個身高的學生,用第二名老師的方法最多量6次就夠了。

第二名老師使用的方法就是「二分法」。

2、邏輯演示

再回到題主的問題上來,我列舉了不同的資料組合,MATCH函式的查詢邏輯見下圖。

簡單點說就是:比對資料大於查詢值會讓MATCH的查詢範圍向上縮小;比對資料小於或等於查詢值會讓MATCH的查詢範圍向下縮小,MATCH函式由此逐漸確定函式最終的返回值。

3、特別說明

根據二分法的邏輯,當資料沒有公升序排列時,絕大多數情況下返回值是錯誤的。

寫的比較簡略,也可以自行搜尋「二分法」學習。

2樓:地球之子M

我用的office 2019,試了半天也沒弄明白。按照官方資料,https://

如果match_type選的是1,那麼必須要陣列公升序排列。試了一下如果不按公升序排列,返回值有可能是錯的,比如陣列[1,5,4],lookup_value是4,結果返回值是1。。。陣列[5,3,1],lookup_value也是4,返回竟然是3。。。

說明不公升序算出來的不能保證是正確的。

所以個人認為,如果真要match_type選1,則必須公升序。否則即便裡面有精準匹配值,返回值也可能是錯的。

3樓:顧小南

1是查詢小於或等於lookup_value(即第乙個引數)的最大值,lookup_array(第二引數)必須以公升序排序。

0是精確匹配,精確等於第一引數的第乙個值。第二引數的順序可以任意。

-1是大於或等於第一引數的最小值。第二引數必須以降序排序。

如果不排序,他就出錯了呀,調好的規則未按規則來,計算機就會錯亂,沒什麼邏輯可言了。

Wolfram Language即是Mathematica?若是,專門公布(或叫做介紹)Wolfram Language的目的何在?

便於把語言和軟體分離,允許第三方實現啊 現在的方案就是 language 和 runtime 部分免費用隨便下,你要用 jupyter 和 vscode 那也有官方支援 但是 FrontEnd 和 Cloud 部分收費FrontEnd 的話說的就是 Mathematica 及其套殼方案看這介面就知道...

Smartisan OS 的設計風格和 Material Design 哪個才是未來?

題葉 多看 dribbble,扁平風一直在往更多樣更精緻演變,大趨勢。和擬物明顯不在乙個軌道上。另外扁平在技術方面的乙個原因據說是裝置尺寸的問題,擬物圖在縮放時問題較多,扁平合適簡化問題,按這個思路扁平也能走的更長一些。另外按照格式塔心理學的簡單結論,簡單幾何圖形更容易辨認,那麼未來扁平 ui 發揮...

英國數學mat考試如何準備

戴森雲學院 1MAT考試的備考建議 學好基礎知識 MAT用到的知識並不多,大部分是AS年級的純數內容,但是對知識點的掌握程度要求較高,學生需要充分理解知識點,包括核心思路和推導過程。大量真題訓練 近幾年,MAT的題目型別靈活多變,很多題目的難度都接近競賽的題目,所以只做MAT本身的真題是完全不夠的,...