分享

Excel122 | TEXT函数应用之三——条件判断

 L罗乐 2017-11-22


问题来源

前天和昨天讲的TEXT函数的用法,都是通过变换格式代码,即TEXT函数的第二个参数,来实现定义不同的格式。

语法:TEXT(value, format_text)

有不少朋友问韩老师,那格式代码与[设置单元格格式]中的[自定义]格式代码,是那么的相像,是不是所有的[自定义]格式中的代码都能应用于TEXT函数中?

不是的,有少部分代码仅适用于自定义格式,比如TEXT函数无法实现以某种颜色显示数值的效果。

另:设置单元格格式与TEXT函数还有以下区别

① 设置单元格的格式,仅仅是数字显示外观的改变,其实质仍然是数值本身,不影响进一步的汇总计算,即得到的是显示的效果。  

② 使用TEXT函数可以将数值转换为带格式的文本,其实质已经是文本,不再具有数值的特性,即得到的是实际的效果。


今天,韩老师给大家讲一讲TEXT函数按区段代码返回格式文本。

操作提示


默认条件区段


四个条件区段:

TEXT函数的格式代码默认分为4个条件区段,各区段之间用半角分号间隔。

默认情况下,这四个区段的定义为:

[>0];[<0];[=0];[文本]

【举例1】按区段条件判断,然后返回相应结果:

公式:=TEXT(A2,'0.00;-0;0;文本')的含义是:

A2单元格的值,按照四种情况返回结果:

  • >0,保留两位小数;

  • <0,只保留整数;

  • =0返回0值;

  • 文本,返回“文本”二字。

【举例2】按区段条件,强制返回相应结果:

公式:=TEXT(A8,'1!0!0;5!0;0;文本')的含义是:

A8单元格的值,按照四种情况返回结果:

  • >0,返回100;

  • <0,返回50;

  • =0返回0值;

  • 文本,返回“文本”二字。

公式中使用的感叹号(英文半角)是转义字符,强制其后的第一个字符不具备代码的含义,而仅仅是数字。比如:1!0!0,将两个0强制成数字0,而不是数字格式代码0。

在实际应用中,可以使用部分条件区段。

三个条件区段:

三个区段为

[>0];[<0];[=0]

【举例3】

公式:=TEXT(A15,'盈利;亏损;平衡')的含义是:

A15单元格的值,按照三种情况返回结果:

  • >0,返回“盈利”;

  • <0,返回“亏损”;

  • =0返回“平衡”;

两个条件区段:

两个区段的为

[>0];[<0]

【举例4】

公式:=TEXT(A22,'盈利;亏损')的含义是:

A22单元格的值,按照两种情况返回结果:

  • >0,返回“盈利”;

  • <0,返回“亏损”;

一个区段的,就不讲了,昨天前天的两篇文章,都算是一个区段的。

自定义条件区段

TEXT函数除了可以使用默认区段以外,还可以自定义条件区段。

四个自定义条件区段:

四个区段的定义为

[条件1];[条件2];[不满足条件的其他部分];[文本]

【举例5】

公式:=TEXT(A38,'[>=85]优秀;[>=60]合格;不合格;无成绩')的含义是:

A38单元格的值,按照自定义的四种情况返回结果:

  • >=85,返回“优秀”;

  • >=60,返回“合格”;

  • 不满足以上条件的数值返回“不合格”;

  • 非数值,返回“文本”二字。


三个自定义条件区段:

三个区段的定义为

[条件1];[条件2];[不满足条件的其他部分]

【举例6】

公式:=TEXT(A46,'[>=85]优秀;[>=60]合格;不合格')的含义是:

A46单元格的值,按照自定义的四种情况返回结果:

  • >=85,返回“优秀”;

  • >=60,返回“合格”;

  • 不满足以上条件返回“不合格”;


两个自定义条件区段:

两个区段的定义为

[条件];[不满足条件的其他部分]

【举例7】

公式:=TEXT(A54,'[>=60]合格;不合格')的含义是:

A54单元格的值,按照自定义的四种情况返回结果:

  • >=60,返回“合格”;

  • 不满足以上条件返回“不合格”;


巧用TEXT嵌套自定义多条件区段

以上举例中,我们可以看到,成绩只能判断到“优秀、合格、不合格”级别,如果再多级别,一个TEXT就解决不了了。TEXT函数也可以嵌套解决这个问题:

【举例8】

要求:

90分及以上,返回“优秀”;

70分及以上,返回“良好”;

60分及以上,返回“合格”;

60分以下,返回“不合格”。

结果如下:

公式:TEXT(TEXT(A62-60,'[>=30]优秀;不合格;0'),'[>=10]良好;合格'),分解来解释:

TEXT(A62-60,'[>=30]优秀;不合格;0')

对A62-60进行分段计算:

  • 如果>=30,返回“优秀”;

  • 如果<0,返回“不合格”;

  • 不满足以上条件,返回成绩的整数。

    如果成绩中有小数,最后一个区段可以写成0.0,或0.00.

通过这个公式,把成绩分段成了>=90,<60,60~89三个区段。

TEXT(TEXT(A62-60,'[>=30]优秀;不合格;0'),'[>=10]良好;合格')

这一部分,对60~89的成绩,减去60,然后计算

  • 如果>=10,返回“良好”;

  • 否则,返回“合格”;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多