前天和昨天講的TEXT函數的用法,都是通過變換格式代碼,即TEXT函數的第二個參數,來實現定義不同的格式。
(語法:TEXT(value, format_text))
有不少朋友問韓老師,那格式代碼與[設置單元格格式]中的[自定義]格式代碼,是那么的相像,是不是所有的[自定義]格式中的代碼都能應用于TEXT函數中?
不是的,有少部分代碼僅適用于自定義格式,比如TEXT函數無法實現以某種顏色顯示數值的效果。
另:設置單元格格式與TEXT函數還有以下區(qū)別:
① 設置單元格的格式,僅僅是數字顯示外觀的改變,其實質仍然是數值本身,不影響進一步的匯總計算,即得到的是顯示的效果。
② 使用TEXT函數可以將數值轉換為帶格式的文本,其實質已經是文本,不再具有數值的特性,即得到的是實際的效果。
今天,韓老師給大家講一講TEXT函數按區(qū)段代碼返回格式文本。
四個條件區(qū)段:
TEXT函數的格式代碼默認分為4個條件區(qū)段,各區(qū)段之間用半角分號間隔。
默認情況下,這四個區(qū)段的定義為:
[>0];[<0];[=0];[文本]
【舉例1】按區(qū)段條件判斷,然后返回相應結果:
公式:=TEXT(A2,'0.00;-0;0;文本')的含義是:
A2單元格的值,按照四種情況返回結果:
>0,保留兩位小數;
<0,只保留整數;
=0,返回0值;
文本,返回“文本”二字。
【舉例2】按區(qū)段條件,強制返回相應結果:
公式:=TEXT(A8,'1!0!0;5!0;0;文本')的含義是:
A8單元格的值,按照四種情況返回結果:
>0,返回100;
<0,返回50;
=0,返回0值;
文本,返回“文本”二字。
公式中使用的感嘆號(英文半角)是轉義字符,強制其后的第一個字符不具備代碼的含義,而僅僅是數字。比如:1!0!0,將兩個0強制成數字0,而不是數字格式代碼0。
在實際應用中,可以使用部分條件區(qū)段。
三個條件區(qū)段:
三個區(qū)段為:
[>0];[<0];[=0]
【舉例3】
公式:=TEXT(A15,'盈利;虧損;平衡')的含義是:
A15單元格的值,按照三種情況返回結果:
>0,返回“盈利”;
<0,返回“虧損”;
=0,返回“平衡”;
兩個條件區(qū)段:
兩個區(qū)段的為:
[>0];[<0]
【舉例4】
公式:=TEXT(A22,'盈利;虧損')的含義是:
A22單元格的值,按照兩種情況返回結果:
>0,返回“盈利”;
<0,返回“虧損”;
一個區(qū)段的,就不講了,昨天前天的兩篇文章,都算是一個區(qū)段的。
TEXT函數除了可以使用默認區(qū)段以外,還可以自定義條件區(qū)段。
四個自定義條件區(qū)段:
四個區(qū)段的定義為:
[條件1];[條件2];[不滿足條件的其他部分];[文本]
【舉例5】
公式:=TEXT(A38,'[>=85]優(yōu)秀;[>=60]合格;不合格;無成績')的含義是:
A38單元格的值,按照自定義的四種情況返回結果:
>=85,返回“優(yōu)秀”;
>=60,返回“合格”;
不滿足以上條件的數值,返回“不合格”;
非數值,返回“文本”二字。
三個自定義條件區(qū)段:
三個區(qū)段的定義為:
[條件1];[條件2];[不滿足條件的其他部分]
【舉例6】
公式:=TEXT(A46,'[>=85]優(yōu)秀;[>=60]合格;不合格')的含義是:
A46單元格的值,按照自定義的四種情況返回結果:
>=85,返回“優(yōu)秀”;
>=60,返回“合格”;
不滿足以上條件,返回“不合格”;
兩個自定義條件區(qū)段:
兩個區(qū)段的定義為:
[條件];[不滿足條件的其他部分]
【舉例7】
公式:=TEXT(A54,'[>=60]合格;不合格')的含義是:
A54單元格的值,按照自定義的四種情況返回結果:
>=60,返回“合格”;
不滿足以上條件,返回“不合格”;
以上舉例中,我們可以看到,成績只能判斷到“優(yōu)秀、合格、不合格”級別,如果再多級別,一個TEXT就解決不了了。TEXT函數也可以嵌套解決這個問題:
【舉例8】
要求:
90分及以上,返回“優(yōu)秀”;
70分及以上,返回“良好”;
60分及以上,返回“合格”;
60分以下,返回“不合格”。
結果如下:
公式:TEXT(TEXT(A62-60,'[>=30]優(yōu)秀;不合格;0'),'[>=10]良好;合格'),分解來解釋:
TEXT(A62-60,'[>=30]優(yōu)秀;不合格;0')
對A62-60進行分段計算:
如果>=30,返回“優(yōu)秀”;
如果<0,返回“不合格”;
不滿足以上條件,返回成績的整數。
如果成績中有小數,最后一個區(qū)段可以寫成0.0,或0.00.
通過這個公式,把成績分段成了>=90,<60,60~89三個區(qū)段。
TEXT(TEXT(A62-60,'[>=30]優(yōu)秀;不合格;0'),'[>=10]良好;合格')
這一部分,對60~89的成績,減去60,然后計算:
如果>=10,返回“良好”;
否則,返回“合格”;