為什麼很多excel高手經常用到text函數?這個函數確實很厲害

在excel中,相信大部分朋友會經常用到自定義單元格格式,比如設置基本的數值顯示位數、添加前綴後綴,熟練一些會利用自定義單元格設置顏色、條件等實現單元格形式的轉變。但是很多時候,利用自定義單元格設置的內容並不是“真正”的內容,只是看上去效果與原來不同而已。如下圖所示,我對D10單元格進行自定義單元格設置,輸入#元后,可以看到D10單元格後面有一個元字,但是在編輯欄仍然是1000,雖然內容包含漢字,其實本質上還是數字,可以進行運算,但是篩選等操作也只能按照“真正”的內容而不是“顯示”的內容進行操作,而且如果對數值保留位數,自定義單元格的方式也會有迷惑性,尤其是會計們還記得核對數字的時候感受到0.01的差異讓你瘋狂的時刻嗎?所以如果想要把單元格變成“真實”的單元格,就運用text等函數吧,這個簡單的函數能幫你在數據處理中免於出現很多不必要的麻煩。text函數的參數也很簡單,中文表達式=text(單元格,“目標格式”)。

為什麼很多excel高手經常用到text函數?這個函數確實很厲害

圖一

一、指定位數填充。如下圖所示,對於A列數據,如果想要以三位數字填充,在H列中輸入公式=TEXT(A2,"000")後,向下填充,就會顯示三位數字填充了。第一個參數輸入要改變顯示位數的單元格,第二個參數輸入"000"表示以固定三位數顯示內容。然後可以選擇複製H列內容,粘貼到A列,粘貼時選擇數值就不會含有公式了。

為什麼很多excel高手經常用到text函數?這個函數確實很厲害

圖二

二、保留指定位數的小數及添加前綴後綴。如下圖所示,I、j、K列分別是對H列格式的轉換。

對於I列,輸入函數=TEXT(Sheet2!$H2,"0"),填充下面單元格就會出現列1的效果。此處第一個參數選擇要更改內容的單元格,第二個參數雙引號之間輸入0,表示對數值保留到整數位,如果第二個參數輸入“0.0”則表示保留一位小數,如果第二參數輸入"0,0",表示插入千位分隔符。此處的0表示佔位符。也可以運用#、?等其他數字佔位符。

對於J列,輸入=TEXT(Sheet2!$H2,"0.000元"),填充後就會出現列2的效果,此處第二個參數表示保留三位小數並在後面添加“元”。

對於K列,函數公式為=TEXT(Sheet2!$H2,"本月工資0元"),同理向下填充,第二個參數添加前綴“本月工資”和後綴“元”,中間的“0”仍然表示對原數值保留整數。按這種方法也可以添加貨幣符號、百分比等。

為什麼很多excel高手經常用到text函數?這個函數確實很厲害

圖三

三、日期格式的轉換。下圖G、H、I、J列分別是對F列用函數進行轉換。

對於G列,輸入函數=TEXT($F2,"yyyy年mm月dd日"),第二個參數表示把原來日期的格式轉換成年月日的格式,同理,如果單元格是22:35:53 ,我們也可以輸入函數=TEXT($F2,"hh時mm分ss秒"),轉化成22時35分53秒。

對於H列和I列,如果僅僅顯示日期中的月份,輸入函數=TEXT($F2,"mm")即可。如果顯示的月份後面有“月”字,則輸入函數=TEXT($F2,"mm月")。

對於J列,輸入函數'=TEXT($F2,"aaaa")後,則會自動計算出當前日期對應的星期。

為什麼很多excel高手經常用到text函數?這個函數確實很厲害

圖四

四、條件判斷。下圖中I列是對H列的條件判斷,對於I列,輸入函數'=TEXT(I2,"高;低;中"),就會分別判斷並返回符合條件的字段。這個函數是什麼意思呢?其實和上面介紹的基本一致,第一個參數表示判斷的單元格,第二個參數表示轉化的效果,雙引號中的參數用分號隔開,分別表示大於0返回高,小於零返回低,等於0返回中,其實第二個參數也可以再添加內容,變成“高;低;中;錯誤",表示沒有符合條件的值會判斷為錯誤。

下圖J列是對G列的判斷,輸入函數=TEXT($G2,"[>=8000]高收入;[<=6000]低收入;中等收入")後,就會判斷出符合條件的值並返回相應的字段。第二個參數分別表示8000元以上為高收入,6000元以下為低收入,其他為中等收入。此處的判斷比if函數嵌套更加簡潔,但是隻能判斷4個以下的條件。

為什麼很多excel高手經常用到text函數?這個函數確實很厲害

圖五

對於text函數,其實和設置自定義格式中的參數意思一樣,所以一個會了另外一個自然也會了。區別就是前者把單元格實際內容改變了,後者只是顯示了轉換格式後的效果,實際內容還是原來的內容。在實際操作中,大家可以根據需要選擇自定義單元格格式或者text函數。


分享到:


相關文章: