這應該是一個典型的match函數(shù)查找最大非空行列的函數(shù)套路應用,我做個簡單的示范如下 函數(shù)簡單講解,如果沒有數(shù)字的情況下,可以用下面的公式,計算效率高一點
首先看一個實例 我們來看一個公式:=lookup(1,0/((A2:A7=E2)*(B2:B7=F2)),C2:C7) 這個公式的意思就是根據(jù)E2和F2的信息,在G2生成需要的結果。 當然,這個方案還有其他的解法。我們不在這里討論這些。只是通過這個例子來看。 首先我們來復習一下lookup的用法
這個是實際的操作例子。 原理解析 0/這個結構在lookup里應用還是比較廣泛的。我們首先看看(A2:A7=E2)*(B2:B7=F2)運算之后的結果到底是什么。 在Excel中,如果A和B的值相等,=A =B,會返回true,也就是1.如果不相等,會返回false,也就是0 上圖就是比較直觀的圖示。再來一張圖。 通過邏輯值的運算,我們可以得到G列的結果,這個相信大家都能明白。 現(xiàn)在我們可以知道,邏輯值相乘結果等于1的那一行,就是我們需要的結果,現(xiàn)在我們的任務就是提取出來。 lookup查找的原理是二分法。要想準確地找到,這組值需要升序排列,很明顯,(A2:A7=E2)*(B2:B7=F2)的結果是不能滿足需求的。 重點邏輯 高手們想出了0/的方法。把結果由1和0構成的一組數(shù)值,變成了一組由0和錯誤值的數(shù)值。這里唯一符合結果的就是0所在的哪一行,其余的都是錯誤值。 lookup最牛叉的就是查找的時候可以忽略錯誤值。這樣,其余的錯誤值都被忽略了,只剩下0.我們要做的就是,使用一個大于等于0的數(shù)值查找即可。 =lookup(1,0/((A2:A7=E2)*(B2:B7=F2)),C2:C7)。 總結 “0/”的目的就是把符合條件的變成0,其余的都是錯誤值。 如果你條件只有一個滿足的,那剛好就會返回這個0對應的位置所在數(shù)據(jù) 敲黑板!! 如果條件有多個滿足,那么就會返回最后一個計算出來的0對應位置的數(shù)據(jù),這就是本文上面查找最后一列的邏輯! |
|
來自: 酒心1000 > 《1 Excel函數(shù)用法》