2010年7月14日Surda发表评论阅读评论
不少朋友都会使用Text函数,它的用法在很多人看来就是自定义单元格格式的函数版。结合不同的格式代码及条件,可以让对象显示不同的格式效果。
然而在我看来,Text函数的作用远不止如此,与自定义单元格格式的代码和功能相比,Text函数可以做的更多、走的更远。Text函数是Excel在字符处理函数中少有的几个具有丰富想像力的Excel函数之一。
下面就跟随几个简单的比较实例,来看看Text函数究竟还能为我们做些什么?文章结尾有实例下载。
1、TEXT() Vs IF()
1 2 3
A
50 59 50
B
60 61 60
C 110 过关 110
C1=IF((A1+B1)>119,\"过关\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()
1 2
A 7月14日 7月14日
B 星期三 星期三
C Wednesday
d 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函数第一参数时,仍可反映出日期序列数数值的特性。见例:
1 2 3 4
A 第一参数 2010-7-14 2010-7-14 2010-7-14
B TEXT 星期三 Wednesday July
说明:A2:A4单元格都是文本格式的日期数据,实际为 '2010-7-14 ,自定义单元格格式是不起作用的。
B2=TEXT(A2,\"AAAA\")
B3=TEXT(A3,\"DDDD\") B4=TEXT(A4,\"Mmmm\")
4、TEXT数组变量应用(实现VLOOKUP自右向左查找)
1 2 3 4 5 6
A
目标数据源 经济 政治 哲学 数学 物理
A B C E D B
C
D
函数查找应用 Vlookup+Text 数学
Index+Match 数学
vlookup+IF 数学
Index+Small+If 数学 E
说明:从目标数据源中查找“E” 所对应的内容。公式如下: D3=VLOOKUP(\"E\ 数组公式 E3=VLOOKUP(\"E\D6=INDEX(A2:A6,MATCH(\"E\
E6=INDEX(A1:A6,SMALL(IF($B2:$B6=\"E\ 数组公式 TEXT函数的第一参数也可以是自适应数组,这种写法你很少见吧。到此Surda就不再举例了,TEXT函数是Excel在字符处理函数中少有的几个具有丰富想像力的Excel函数之一。其他就看自己在实际应用的发散了。
前 通过比较 浅析TEXT()函数 在EXCEL中的不同用法 中通过三个实例介绍了TEXT函数的不同用法。今再补两例:
1、TEXT() VS MONTH() 实现英文、数字月份互转(将英文的月份转为数字月份,将数字月分转成英文月份(全写、缩写)
A
B
C
D
1 2 3 4 5 6 7 8 9 10 11 12 13
数字月份
1 2 3 4 5 6 7 8 9
英文全 January February March April May June July August September
英文缩 Jan Feb Mar Apr May Jun Jul Aug Sep
MONTH 1 2 3 4 5 6 7 8 9
10 October Oct 10
11 November Nov 11
12 December Dec 12
A列 – B、C列 数字转英文月份 公式如下 B2=TEXT(A2*28,\"mmmm\") C2=TEXT(A2*28,\"mmm\") 向下填充
B、C列 – D列 英文转数字月份 公式如下
D2=MONTH(B2&-1) 由公式 =MONTH(B2&\"-1\") 省略而来
向下填充,这公式在处理英文日期时比较有用,就不需要额外做辅助列了。 2、运用TEXT函数随机出算术题(有小孩子的实用)
1
A 电脑出题
B 答案
2 3 4 5 6 7 8 9
57×3= 98×0= 64×9= 50×2= 12×6= 31×4= 80×4= 70×5=
A列是由公式自动随机生机的 100 位以内乘法算术题,公式如下 A2=TEXT(RAND()*900+100,\"#×0=\")
随着小孩的升级,修改公式可以增加算术的难度。 3、INDIRECT+TEXT实现高级引用 =INDIRECT(TEXT(21,\"!r0c0\"),) 引用A2的值 =INDIRECT(TEXT(22,\"!r0c0\"),) 引用B2的值 =INDIRECT(TEXT(2010,\"!r00c00\"),) 引用J20的值
如果TEXT函数第一参数为变量,这个高级引用就颇为有用了。如:实现行、列的转置等等……
ENDING……
原创]TEXT函数常用的自定义格式代码及实例
说明 常规格式
小数点前面不够三位以0补齐,保留1位小数,不足一位以0补齐 没用的0一律不显示
小数点前不足两位以0补齐,保留两位,不足两位不补位 大于0,显示为“正数” 等于0,显示为“零” 小于0,显示为“负数”
按所示形式表示日期
显示为英文星期几全称 大于等于90,显示为“优秀” 大于等于60,小于90,显示为“及格” 小于60,显示为“不及格” 中文小写数字
中文大写数字,并加入“元整”字尾 中文小写数字
中文小写数字,11-19无设置
中文小写数字,11-显示为十一而不是一十一 以千为单位
以万元为单位,保留4位小数 以万元为单位,保留1位小数
今天自己整理的,想着也许大家也会有用的,传上来共享,本来是要直接发的,不过有字数限制,所以只发了说明列,大家自己下载下文件吧。
补充一点:这是2007下的,在以下版本并不保证适用,要是不行大家自已改改 大家去下面这个贴子看看吧,非常全面,还有很多基础知识,我这个只有代码和例子
【原创】Excel 中 Text 函数应用技巧集锦
字符 说明
(:) 时间分隔符。在一些国别,可能用其他符号来当时间分隔符。格式化时间值时,时间分隔符可以分隔时、分、秒。时间分隔符的真正字符在格式输出时取决于系统的设置。 (/) 日期分隔符。在一些国别,可能用其他符号来当日期分隔符。格式化日期数值时,日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式输出时取决于系统设置。
d 以没有前导零的数字来显示日 (1 – 31)。 dd 以有前导零的数字来显示日 (01 – 31)。 ddd 以简写来表示日 (Sun –Sat)。 dddd 以全称来表示日 (Sunday –Saturday)。
m 以没有前导零的数字来显示月 (1 – 12)。如果 m 是直接跟在 h 或 hh 之后,那么显示的将是分而不是月。
mm 以有前导零的数字来显示月 (01 – 12)。如果m是直接跟在h或hh之后,那么显示的将是分而不是月。
mmm 以简写来表示月 (Jan –Dec)。
mmmm 以全称来表示月 (January –December)。
y 或 yy 以两位数来表示年 (00 – 99)。 yyy或yyyy 以四位数来表示年 (0000 – 9999)。 H 以没有前导零的数字来显示小时 (0 – 23)。 Hh 以有前导零的数字来显示小时 (00– 23)。
M 以没有前导零的数字来显示分 (0 – 59) 需跟在 h 或 hh 之后。 Mm 以有前导零的数字来显示分 (00 – 59) 需跟在 h 或 hh 之后。 S 以没有前导零的数字来显示秒 (0 – 59) 需跟在 h 或 hh 之后。 Ss 以有前导零的数字来显示秒 (00 – 59) 需跟在 h 或 hh 之后。
AM/PM 在中午前以 12 小时配合大写 AM 符号来使用;在中午和 11:59 P.M.间以 12 小时配合大写 PM 来使用。
am/pm 在中午前以 12 小时配合小写 am 符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写 pm 来使用。
A/P 在中午前以 12 小时配合大写A符号来使用;在中午和 11:59 P.M.间以12 小时配合大写P来使用。
a/p 在中午前以 12 小时配合小写a符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写p来使用。
下面表格标识了 一些可用来创建用户自定义数值格式的字符:
(0) 数字占位符。显示一位数字或是零。如果表达式在格式字符串中 0 的位置上有一位数字存在,那么就显示出来;否则,就以零显示。如果数值的位数少于格式表达式中零的位数(无论是小数点的左方或右方),那么就把前面或后面的零补足。
如果数值的小数点右方位数多于格式表达式中小数点右面零的位数,那么就四舍五入到有零的位数的最后一位。如果数值的小数点左方位数多于格式表达式中小数点左面零的位数,那
么多出的部分都要不加修饰地显示出来。
(#) 数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中“#”的位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示。
此符号的工作原理和“0”数字占位符大致相同,不同之处只有在当表达式中数值的位数少于“#”的位数(无论是小数点左方或右方)时,不会把前面或后面的零显示出来。
(.) 小数点占位符。在一些国别是用逗号来当小数点的。小数点占位符用来决定在小数点左右可显示多少位数。如果格式表达式在此符号左边只有正负号,那么小于 1 的数字将以小数点为开头。如想在小数前有“0”的话,那么请在小数点占位符前加上“0”这个数字占位符。小数点占位符的实际字符在格式输出时要看系统的数字格式而定。
(%) 百分比符号占位符。表达式乘以 100。而百分比字符 (%) 会插入到格式字符串中出现的位置上。
(,) 千分位符号占位符。在一些国别,是用句点来当千位符号。千位符号主要是把数值小数点左边超过四位数以上分出千位。如果格式中在数字占位符(0 或 #)周围包含有千分位符号,则指定的是标准的千分位符号使用法。两个邻近的千分位符号或一个千分位符号紧接在小数点左边(不管小数位是否指定),其意思为“将数值除以 1000,按需要四舍五入”。 例如,可以用格式字符串 \"##0,,\" 将 1 亿表示成 100。数值小于 1 百万的话表示成“0”,两个邻近的千分位符号除了紧接在小数点左边以外,在任何位置出现时均简单地视为指定了使用千分位符号。小数点占位符的真正字符在格式输出时,需视系统识别的数字格式而定。 (E- E+ e- e+) 科学格式。如果格式表达式在 E-、E+、e- 或 e+ 的右方含有至少一个数字占位符(0 或 #),那么数值将表示成科学格式,而 E 或 e 会被安置在数字和指数之间。 E 或 e 右方数字占位符的个数取决于指数位数。使用 E- 或 e- 时,会用减号来表示负的乘幂。使用 E+ 或 e+ 时,会用减号来表示负的乘幂并用加号来表示正的乘幂。 - + $ ( ) 显示一个原义字符。如想显示那些列出的字符之外的字符时,可以用反斜杠 ( \\ ) 字符作前缀或以双引号 (\" \") 括起来。
(\\) 将格式字符串中下一个字符显示出来。如想显示一作为原义字符并有特殊含义的字符,可将此字符置于反斜杠 (\\) 之后。反斜杠本身并不会显示出来。而使用反斜杠 (\\) 的效果和使用双引号是一样的。如想显示反斜杠字符,可使用两个反斜杠 (\\\\)。
那些不能显示为原义字符的字符是日期格式字符和时间格式字符(a, d, h, m, s, y, / 和 :)、数值格式字符(#, 0, %, E, e, 逗点和句点)和字符串格式字符(@, &,和 !)。 可以用下面任意字符来创建格式表达式用于字符串:
@ 字符占位符。显示字符或是空白。如果字符串在格式字符串中 @的位置有字符存在,那么就显示出来;否则,就在那个位置上显示空白。除非有惊叹号字符 (!) 在格式字符串中,否则字符占位符将由右而左被填充。
& 字符占位符。显示字符或什么都不显示。如果字符串在格式字符串中和号 (&) 的位置有字符存在,那么就显示出来;否则,就什么都不显示。除非有惊叹号字符 (!) 在格式字符串中,否则字符占位符将由右而左被填充。
! 强制由左而右填充字符占位符。缺省值是由右而左填充字符占位符。
用户自定义日期 /时间格式示例
下面表格是以用户自定义日期/时间格式来显示 December 7, 1998 的示例:
格式 显示结果 m/d/yy 12/7/98 d-mmm 7-Dec d-mmmm-yy 7-Dec-98 d mmmm 7-Dec mmmm yy Dec-98 hh:mm AM/PM 8:50 PM h:mm:ss a/p 8:50:35 PM h:mm 20:50 h:mm:ss 20:50:35
m/d/yy h:mm 12/7/98 20:50
下面的表格包含一些数值格式表达式的示例。(这些示例皆假设系统之国别设置为 English-U.S.)第一列包含格式字符串,其他列则为输出结果,假设格式化数据有列表头中给定的值。
Text(格式) 正 5 负 5 0.5 0 5 -5 1
0.00 5.00 -5.00 0.50 #,##0 5 -5 1
#,##0.00;Nil 5.00 Nil 0.50 $#,##0;($#,##0) $5 ($5) $1
$#,##0.00;($#,##0.00) $5.00 ($5.00) $0.50 0% 500.00% -500.00% 50.00%
0.00% 500.00% -500.00% 50.00% 0.00E+00 5.00E+00 -5.00E+00 5.00E-01
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务