為了便於理解,改成這個場景,A列是公司縮寫,B列是產品,C列是存在於A列和B列中的公司縮寫,自動匹配到C列。
利用lookup+find的超級組合功能可以解決這個問題。具體看操作:
這個問題會不會很快批量解決,但是相信大家都會有疑問,lookup的第壹個參數是0是什麽?為什麽find函數前面有壹個減號?為什麽find函數的第壹個參數是壹個範圍而不是壹個單獨的搜索文本?如果能搞清楚這些問題,就能真正掌握這兩種功能的搭配。事實上,這兩種功能的結合在牛珊珊看來是壹種“偏方”解決方案。
先搞清楚為什麽會想到找0,因為查找函數有壹個定理如下:
如果查找函數找不到lookup_value(下圖中的0),它將匹配lookup_vector(下圖中的B列)中小於或等於lookup_value(下圖中的A列)的最大值。
上面這句話妳可能聽不懂,但是牛拿著個栗子應該能聽懂。
妳發現了什麽現象?在對應於0的A列中找到對應於B列的數據,並將其匹配到C列..壹開始沒有B列,所以C2單元格給出錯誤,但是只要B列對應的值小於查詢值0,就會顯示A列對應的公司。對不對!
所以妳需要做的是,在產品B列,只讓包含公司名稱的產品生成對應的負區域。
也就是說,D1要想得到騰訊,B的面積壹定是(B2為空,B3為負,B4為空)。要讓D2獲得百度,B列中的面積必須為(B2為空,B3為空,B4為負)。以此類推,妳會發現如果手動更改,D列的所有匹配都會更改,所以妳需要實現更強大的功能。當拖動D列公式時,B列的負數面積會動態變化,從而批量實現對應關系。
所以這個時候,find功能就出來了。Find函數的默認用法如下。=-FIND("微",C2)
比如C2單元格中“微”字的位置,第三個位置返回“微”字,那麽B2單元格返回3,如果加上壹個負數,就是-3,所以和我們前面得到的負數效應很像。但仔細想想,就會有問題。這個微詞是為了配合微軟。怎麽能比得上微信呢?所以用find的正常用法是絕對不可行的。
所以使用了find的用法。-FIND($D$2:$D$4,A2)同時查找多個單詞,然後逐個返回單詞數。如果找到了,就是壹個數。如果沒有找到,就是錯誤,相當於壹個空單元格。
如果回到之前寫的公式,使用公式求值的功能,就可以理解了。妳會發現B列的動態區域是find函數生成的負數,正好對應公司縮寫。大家壹定要多做操作,仔細體會。
總結:Find+Lookup函數的使用,絕對是兩個函數組合得到的結果的“超級偏方”,對於非普通人來說絕對是意想不到的。所以請記住這個“固定”的搭配。