今天我們來解決一個Excel查找函數的通病:就是不能識别字母的大小寫無論是vlookup還是index match這樣的老牌查找函數,還是xlookup這個新晉的查找函數之王,都是不能識别字母的大小寫的,如下圖所示,分别使用它們進行數據查詢,得到的都是一個錯誤的結果,查找值是【Aa-39】得到的結果卻是【AA-39】的結果,今天我們就來解決下這個問題。
一、FIND函數
其實不僅僅是查找函數,我們經常使用的sumif,countif等函數也是無法識别字母的大小寫的。那麼對于這樣的問題,應該如何解決呢?我們需要借助FIND函數,因為FIND函數是可以識别到字母的大小寫的。先來簡單地了解下這個函數
Find函數:查找字符在字符串中的位置
語法:=FIND(find_text, within_text, [start_num])
第一參數:需要查找的字符串
第二參數:在哪裡查找
第三參數:指定從第幾位開始查找,一般将其忽略掉即可
來簡單的舉個例子,了解下它是使用方法,如下圖所示,我們在字符串中查找【A】與【a】的位置
大寫A結果為3,就表示它的字符串的第3個位置
小寫a結果為7,就表示它的字符串的第7個位置
二、LOOKUP FIND
在這裡更建議大家使用LOOKUP FIND函數來解決查找函數不能識别大小寫的問題,因為這個方法我覺得是比較簡單的。隻需要将函數設置為:=LOOKUP(1,FIND(E2,A2:A7),B2:B7)
跟大家簡單地介紹下函數的原理
第一參數:1,查找值
第二參數:FIND(E2,A2:A7),find函數構建的查找區域
第三參數:B2:B7,返回結果的區域
在這裡FIND函數的結果如上圖所示,找不到數據就會返回#VALUE!這個錯誤值,能找到數據就會返回1這個結果,這也是我們将LOOKUP函數設置為1的原因。這樣的話就會根據1來返回對應的單元格,也正好是我們需要的結果
三、繼續優化其實上一個公式,它查找的僅僅是以查找值開頭的數據,如果表格中存在2個以查找值開頭的數據,那麼我還是可能返回錯誤的結果的,如下圖所示,我們要查找【Aa-39】對應的結果,而函數卻返回了【Aa-39WW】對應的結果,那麼對于這樣的問題,應該如何解決呢?
我們可以在前面加一個條件,來計算下它們的字符數是否相等,如果字符數相等則返回FIND函數,如果字符數不相等則返回#N/A這個錯誤值,這樣的話公式就變為了
=LOOKUP(1,IF(LEN(D2)=LEN(A2:A7),FIND(D2,A2:A7),NA()),B2:B7)
效果如下圖所示,是可以找到正确的結果的,相較于上一個函數,在這裡多了一步,就是利用IF函數判斷二者的字符數是否相等。
以上就是今天分享的全部内容,可以說分享了2種解決方法,至于如何選擇,需要你自己根據實際的數據來決定了,當然了,第二個更加的精确。
我是Excel從零到一,關注我,持續分享更多Excel技巧
想要學習Excel,這裡↓↓↓
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!