這公式結果幹掉好些自稱精通VLOOKUP的同學,原因其實很簡單,VLOOKUP是個忽略大小寫差異的函數,而對Excel來說,這2個字符在忽略大小寫區别的比較下被認為是相同的,這就是今天介紹的性質,Excel的大小寫。
Excel字符所謂的忽略大小寫性質貫穿查找、篩選、替換等等基礎功能,在函數裡也常被涉及。
工作表函數裡隻有極少數函數能識别大小寫差異,如:
EXACT,SUBSTITUTE,FIND,CODE,UNICODE等。
而在忽略大小寫這個性質的前提下,Excel裡共有1835組字符組裡的字符相互間能進行識别,這個性質不僅僅出現于英文字母。
因此對Excel來說,所謂的大小寫不僅僅限于英文字母的,絕大多數人可能不會遭遇到這個性質下特殊字符造成的判斷異常。
但是,請注意一個常規性質:這些具備忽略大小寫差異的函數都支持通配符,而支持通配符的函數都會有255字符數限制,因此如果有1天你使用VLOOKUP對一個長字符串匹配報錯,請不要奇怪。
大小寫轉化的相關函數
Excel裡有3個函數能對字母類進行大小寫轉化:
Upper把所有字母轉為大寫
Lower把所有字母轉為小寫
Proper最特殊,把字符串的各單詞的首字母轉為大寫,其他字母全部轉為小寫。
這3個函數基本隻能轉化英文字母與類字母類的字符,但是轉化關系極其複雜,堪稱函數界的雷雨……
1 Upper與Lower能相互轉大小寫。
2 Lower和Proper能轉為小寫,但Upper不能轉對應大寫,Proper也不能轉大寫的有72個字符。
3 Lower和Proper能轉為小寫,但Upper不能轉對應大寫,Proper可以轉大寫的有7個字符。
4 Upper與Lower不能相互轉化但能用Proper轉為大寫,該大寫字符可用Proper或Lower再轉為小寫但不是原字符的有4個字符。
5 Upper與Lower不能相互轉化但能用Proper轉為大寫,該大寫字符不再可用Lower或Proper轉為小寫的有38組字符。
6 Lower不能轉為對應小寫字符,但Upper與Proper能轉為對應大寫,但Proper轉小寫時不是對應字符的有8組字符。
7 Lower不能轉為對應小寫,Upper能轉為對應大寫,Proper能轉為對應大寫且能再用Proper轉回相應小寫的有6個字符。
8 Proper轉化異常的26組字符(注意有方向性),隻能用Proper轉化且無論是否在首字母位置都隻能單向轉化為相應字符,疑似Bug。
大小寫轉化的3個函數也是不完全的逆運算,且相互轉化規則極其複雜。
遍曆下Upper 可将 633個字符進行大寫轉化,而 Proper 可将675個字符進行大寫轉化(首字母)
而Lower的能力與Proper(第2個字母開始)的轉化能力相同,均可轉化665個字符為(所謂)小寫。
(這裡列的數量可能與上表有一些誤差因為少數存在不可逆的轉化與多對一關系)
由于轉化順序和對應性,能被轉化的字符組合計747組(有一組26個字符由于Proper特殊轉化結果我計入了2次) 。
大小寫轉化關系裡最特殊的2組為:
1)少數轉化為小寫的字母最終可轉化為相同的大寫字符(借助Proper的轉化結果),這種情況合計16組34個字符(這裡介紹的字符集請見附件)。
2)有一組26個字符Upper與Lower能正常相互轉化但Proper隻能轉為對應小寫,無論在不在首字母。
因此,作為Excel裡的常見性質,大小寫相關還是有不少性質是少有人知的,因此借此機會介紹下,避免入坑。
圖文制作:流浪鐵匠
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!