摘要:在本例中,如果A列的數據等於或包含D2單元格的內容,就返回代表起始位置的數字,否則返回錯誤值#VALUE。FIND函數返回D2單元格內容在A列中的起始位置。

小夥伴們好啊,今天老祝和大家說說區分大小寫的查找。

實際工作中,總有各種想不到的數據。比如說下面這個圖中,要求根據D列的產品編號,以區分大小寫的方式,在AB列數據源中查找對應的供貨商。

如果E2單元格再使用下面這個經典的套路公式,就不可以了:

=LOOKUP(1,0/FIND(D2,A:A),B:B)

FIND函數返回D2單元格內容在A列中的起始位置。

在本例中,如果A列的數據等於或包含D2單元格的內容,就返回代表起始位置的數字,否則返回錯誤值#VALUE!。

A4和A5單元格值差了一個字符:

A4等於D2單元格的產品編號,

A5包含D2單元格的產品編號。

FIND函數對這兩種情況都返回數字1,而無法實現精確匹配。

怎麼辦呢?這當然難不住咱們的。

E2單元格使用以下公式:

=LOOKUP(1,0/EXACT(D2,A:A),B:B)

又多了一個陌生的函數,這個EXACT是做什麼用的呢?

用這個函數可以比較兩個文本字符串是否完全相同,返回TRUE或是FALSE。這裏的完全相同,不包括格式上的差異,這一點要注意的。

EXACT函數眼裏揉不得沙子,下面這個圖,就是EXACT函數對字符的判斷結果,對照一下是不難理解的。

用EXACT(D2,A:A),分別判斷D2與A列中的型號是否完全相同,返回邏輯值TRUE或是FALSE。

用0除這些邏輯值,TRUE變成0,FALSE變成錯誤值。

LOOKUP函數使用1作爲查找值,查找0所在的位置,並返回B列對應位置的供貨商名稱。

好了,今天的內容就是這些吧,祝大家一天好心情~

圖文製作:祝洪忠

相關文章