在文本函数里text函数称第二,没人敢称第一,因为它有很多高级用法是其他函数很难替代的,先看一个示例。
【例】如下图所示,A列为个人信息,需要用公式把姓名、年龄、学历和籍贯提取出来
C3公式:=TEXT(1,B3)
D3公式:=TEXT(-1,Substitute(B3,"0","!0"))
E3公式:=TEXT(0,B3)
F3公式:=TEXT("A",B3)
可能大部分同学都不理解公式的含义,为什么用数字就可以拆分字符串。这和text的第二个参数有关。
text的第二个参数是一串代码,和单元格自定义格式类似,它可以给第一个参数值设置数值格式。而根据数值的类型,分为四个位置:
正数;负数;零;文本
当第一个参数为正,text就会返回第一个正数位的内容,为负返第二个位置内容,为0返第三个,文本则返回第4个。
反之,如果单元格中是用分号分隔的文本,我们就可以用不同格式的符号返回对应位置的值。如下图所示-1就可以提取出第2个值。
=TEXT(-1,B11)
那如果不是分号怎么办?用substitute函数替换
=TEXT(-1,SUBSTITUTE(B11,",",";"))
还有一个问题,如果含有0,结果就会出错。原因是0是自定义格式的强制占位置,并不是数值0。
可以把0替换为!0 就能解决这个问题。
=TEXT(-1,SUBSTITUTE(B3,"0","!0"))
总结:因为单元格格式只有四个位置,你是不是以为只有截取有4段内容的字符?嘿嘿,太年轻了。它可以截任意多个位置。来,截取第5个。