|
先發(fā)個圖片,里面的公式坑死了無數(shù)個自信了解VLOOKUP的同學。 這公式結果干掉好些自稱精通VLOOKUP的同學,原因其實很簡單,VLOOKUP是個忽略大小寫差異的函數(shù),而對Excel來說,這2個字符在忽略大小寫區(qū)別的比較下被認為是相同的,這就是今天介紹的性質,Excel的大小寫。 Excel字符所謂的忽略大小寫性質貫穿查找、篩選、替換等等基礎功能,在函數(shù)里也常被涉及。 工作表函數(shù)里只有極少數(shù)函數(shù)能識別大小寫差異,如: EXACT,SUBSTITUTE,F(xiàn)IND,CODE,UNICODE等。 而在忽略大小寫這個性質的前提下,Excel里共有1835組字符組里的字符相互間能進行識別,這個性質不僅僅出現(xiàn)于英文字母。 因此對Excel來說,所謂的大小寫不僅僅限于英文字母的,絕大多數(shù)人可能不會遭遇到這個性質下特殊字符造成的判斷異常。 但是,請注意一個常規(guī)性質:這些具備忽略大小寫差異的函數(shù)都支持通配符,而支持通配符的函數(shù)都會有255字符數(shù)限制,因此如果有1天你使用VLOOKUP對一個長字符串匹配報錯,請不要奇怪。 大小寫轉化的相關函數(shù) Excel里有3個函數(shù)能對字母類進行大小寫轉化: Upper把所有字母轉為大寫 Lower把所有字母轉為小寫 Proper最特殊,把字符串的各單詞的首字母轉為大寫,其他字母全部轉為小寫。 這3個函數(shù)基本只能轉化英文字母與類字母類的字符,但是轉化關系極其復雜,堪稱函數(shù)界的雷雨…… 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個函數(shù)也是不完全的逆運算,且相互轉化規(guī)則極其復雜。 遍歷下Upper 可將 633個字符進行大寫轉化,而 Proper 可將675個字符進行大寫轉化(首字母) 而Lower的能力與Proper(第2個字母開始)的轉化能力相同,均可轉化665個字符為(所謂)小寫。 (這里列的數(shù)量可能與上表有一些誤差因為少數(shù)存在不可逆的轉化與多對一關系) 由于轉化順序和對應性,能被轉化的字符組合計747組(有一組26個字符由于Proper特殊轉化結果我計入了2次) 。 大小寫轉化關系里最特殊的2組為: 1)少數(shù)轉化為小寫的字母最終可轉化為相同的大寫字符(借助Proper的轉化結果),這種情況合計16組34個字符(這里介紹的字符集請見附件)。 2)有一組26個字符Upper與Lower能正常相互轉化但Proper只能轉為對應小寫,無論在不在首字母。 因此,作為Excel里的常見性質,大小寫相關還是有不少性質是少有人知的,因此借此機會介紹下,避免入坑。 圖文制作:流浪鐵匠 |
|
|
來自: hercules028 > 《excel》