通过比较 浅析TEXT()函数 在EXCEL中的不同用法
不少朋友都会使用Text函数,它的用法在很多人看来就是自定义单元格格式的函数版。结合不同的格式代码及条件,可以让对象显示不同的格式效果。
然而在我看来,Text函数的作用远不止如此,与自定义单元格格式的代码和功能相比,Text函数可以做的更多、走的更远。Text函数是Excel在字符处理函数中少有的几个具有丰富想像力的Excel函数之一。
下面就跟随几个简单的比较实例,来看看Text函数究竟还能为我们做些什么?文章结尾有实例下载。
1、TEXT() Vs IF()
| A | B | C | |
| 1 | 50 | 60 | 110 |
| 2 | 59 | 61 | 过关 |
| 3 | 50 | 60 | 110 |
C1=IF((A1+B1)>119,”过关”,A1+B1)
C2=TEXT(A2+B2,”[>119]过关”)
C3=TEXT(A3+B3,”[>119]过关”)
公式分析:A、B两列分别代表考试分数,平均60分以上则在C列标记“过关”,否则列出两分数和。
TEXT函数的第二参数也可使用条件代码,在特定环境下可替代IF函数。
如=IF(A1>B1,A1,1) 可替换为 =TEXT(A1,”[<=”&B1&”1″)
2、TEXT() VS CHOOSE()
| A | B | C | d | |
| 1 | 7月14日 | 星期三 | ||
| 2 | 7月14日 | 星期三 | Wednesday | Wed |
B1=CHOOSE(WEEKDAY(A1,2),”星期一”,”星期二”,”星期三”,”星期四”,”星期五”,”星期六”,”星期日”)
B2=TEXT(A2,”aaaa”)
C2=TEXT(A2,”dddd”)
D2=TEXT(A2,”ddd”)
公式分析:根据指定的日期,计算是星期几。相比CHOOSE函数“冗长”,TEXT函数来得“短小”多了。
TEXT函数第二参数格式多样化,在特定环境下可替代CHOOSE函数(如日期、时间的处理)。
朋友们可能会说我设置单元格格式效果一样,没错。但,接着往下看……
3、TEXT() VS 自定义单元格格式
像常规的日期、时间,我们都可以通过设置单元格格式显示不是的效果。如“2010-7-14”可显示为“7月14日”也可显示为“星期三”等等。但有一类文本格式日期数据,自定义单元格格式会不起作用。如你在日期(2010-7-14)前加单引号(’),这时自定单元格格式就不起作用了。这类数据作为TEXT函数第一参数时,仍可反映出日期序列数数值的特性。见例:
| A | B | |
| 1 | 第一参数 | TEXT |
| 2 | 2010-7-14 | 星期三 |
| 3 | 2010-7-14 | Wednesday |
| 4 | 2010-7-14 | July |
说明:A2:A4单元格都是文本格式的日期数据,实际为 ’2010-7-14 ,自定义单元格格式是不起作用的。
B2=TEXT(A2,”AAAA”)
B3=TEXT(A3,”DDDD”)
B4=TEXT(A4,”Mmmm”)
4、TEXT数组变量应用(实现VLOOKUP自右向左查找)
|
|
A | B | C | D | E |
| 1 | 目标数据源 | 函数查找应用 | |||
| 2 | 经济 | A | Vlookup+Text | vlookup+IF | |
| 3 | 政治 | B | 数学 | 数学 | |
| 4 | 哲学 | C | |||
| 5 | 数学 | E | Index+Match | Index+Small+If | |
| 6 | 物理 | D | 数学 | 数学 | |
说明:从目标数据源中查找“E” 所对应的内容。公式如下:
D3=VLOOKUP(“E”,TEXT({1,-1},”!”&B2:B6&”;”&A2:A6),2,0) 数组公式
E3=VLOOKUP(“E”,IF({1,0},$B$2:$B$6,$A$2:$A$6),2,0)
D6=INDEX(A2:A6,MATCH(“E”,B2:B6))
E6=INDEX(A1:A6,SMALL(IF($B2:$B6=”E”,ROW($2:$6),4^8),ROW(1:1))) 数组公式
TEXT函数的第一参数也可以是自适应数组,这种写法你很少见吧。到此Surda就不再举例了,TEXT函数是Excel在字符处理函数中少有的几个具有丰富想像力的Excel函数之一。其他就看自己在实际应用的发散了。
更正一处书写错误:=TEXT(A1,”[<="&B1&"1")
更正为:=TEXT(A1,"[<="&B1&"]1")
[]没有闭合……
PS:TEXT函数第二参数也可使用变量。