admin 管理员组

文章数量: 1184232


2024年2月28日发(作者:软件测试自学要多久)

EXCEL 中的 TEXT 函数

TEXT

将数值转换为按指定数字格式表示的文本。

语法

TEXT(value,format_text)

Value 为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用。

Format_text 为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式。

说明

Format_text 不能包含星号 (*)。

通过“格式”菜单调用“单元格”命令,然后在“数字”选项卡上设置单元格的格式,只会更改单元格的格式而不会影响其中的数值。使用函数 TEXT 可以将数值转换为带格式的文本,而其结果将不再作为数字参与计算。

A B

1 销售人员 销售

2 Buchanan 2800

3 Dodsworth 40%

公式 说明 结果

=A2&" sold "&TEXT(B2, "$0.00")&" worth of units." 将上面内容合并为一个短语 (Buchanan sold $2800.00 worth of units.)

=A3&" sold "&TEXT(B3,"0%")&" of the total sales." 将上面内容合并为一个短语 (Dodsworth sold 40% of the total sales.)

TEXT生成的几种日期格式:(假设当前系统日期为2010年1月28日)

YYYY

=text(now(),"YYYY") (返回:2010)

dbnum1

=TEXT(NOW(),"[dbnum1]yyyy年m月d日") 中文小写日期(返回:二○一○年一月二十八日)

dbnum2

=TEXT(NOW(),"[dbnum2]yyyy年m月d日") 中文大写日期(返回:贰零壹零年壹月贰拾捌日)

日期转换

把20080808修改成2008-08-08的格式可以用以下公式:

=text("20080808","#-00-00")

把英文月份化成数字月份:

=MONTH(("Aug"&1))

=MONTH(("August"&1))

返回一个月的最后一天,就是用下一个月的第一天-1就行。

得到上一个月的最后一天:

=today()-day(now())

确定季度:

=text(roundup(month(now())/3,0),"[dbnum1]第0季度")

返回星期:(假设当前系统日期为2010年1月28日,星期四)

=weekday(now(),2) 返回:4

=text(today(),"aaaa") 返回:星期四

=text(today(),"aaa") 返回:四 (考勤表中用到)

返回最近星期天的日期

=today()-weekday(today(),2)

=today()-mod(today()-1,7)

=today()+8-weekday(today())

=today()+6-mod(today()-2,7)

两个日期相隔的星期天数:

=int((weekday(date1,2)+date2-date1)/7)

1.关于 TEXT(102,"!r0c00") 此类格式函数

TEXT(102,"!r0c00") --->"r1c02"

前面加个indirect

indirect(TEXT(102,"!r0c00"),)---->INDIRECT("r1c02",)-->就是等于行1列2 即B1的值

故展开=INDIRECT(TEXT(1002,"!r00c00"),)--->B10的值

=INDIRECT(TEXT(1002,"!r00c0"),)--->B100的值

=INDIRECT(TEXT(102,"!r00c0"),)------->B10的值 注意前后的变化

继续扩展:

=INDIRECT(TEXT({101;102;103;201;202;203;301;302;303},"!r0c00"),)------->

=INDIRECT({"r1c01";"r1c02";"r1c03";"r2c01";"r2c02";"r2c03";"r3c01";"r3c02";"r3c03"},)这个得到一个数组

题外话:

SMALL(ROW($A$1:$C$3)*100+COLUMN($A$1:$C$3),ROW(1:9))--可得到(张贴:只是为了学习这个方法)------------------------------->{101;102;103;201;202;203;301;302;303}

2.关于此类TEXT({10;1;11;2;13;14;15;8;7;3},"[<=8]#;1")此类格式函数

先了解一下: TEXT({10;1;11;2;13;14;15;8;7;3},"[<=8]#;1")引申出结果为

{"1";"1";"1";"2";"1";"1";"1";"8";"7";"3"},意思就是说大于8的为1,小于等于8的为原来值

看 =TEXT({10;1;11;2;13;14;15;8;7;3},"[>=8]#;1")如果修改成大于等于 引申出结果为

{"10";"1";"11";"1";"13";"14";"15";"8";"1";"1"}

继续展开

=TEXT({10;1;11;2;13;14;15;8;7;3},"[=8]#;1")--->={"1";"1";"1";"1";"1";"1";"1";"8";"1";"1"}

=TEXT({10;1;11;2;13;14;15;8;7;3},"[<>8]#;1")--->={"10";"1";"11";"2";"13";"14";"15";"1";"7";"3"}

=TEXT({10;1;11;2;13;14;15;8;7;3},"[<>""]#;1")-->={"10";"1";"11";"2";"13";"14";"15";"8";"7";"3"}

题外话:(相关的例子)

"[<="&LEN($A$6)&"]#;1"--->如果LEN($A$6) 等于8 那么 就可以得到 "[<=8]#;1"

ROW($1:$10)-1----->就可以得到 {0;1;2;3;4;5;6;7;8;9}这个数组

10-ROW($1:$10)--->就可以得到 {9;8;7;6;5;4;3;2;1;0}这个数组

2

3

4

5

6

B C D E

示例:查找字符串中第一个字母"a"的位置,如

果没有找到则返回0。

字符位置 IF公式 Text公式

=IF(FIND("a",B4&"a")>LEN(B=TEXT(FIND("a",B4&"a"),"[>afair 1

4),0,FIND("a",B4&"a")) "&LEN(B4)&"]!0")

=IF(FIND("a",B5&"a")>LEN(B=TEXT(FIND("a",B5&"a"),"[>beat 3

5),0,FIND("a",B5&"a")) "&LEN(B5)&"]!0")

=IF(FIND("a",B6&"a")>LEN(B=TEXT(FIND("a",B6&"a"),"[>Excel 0

6),0,FIND("a",B6&"a")) "&LEN(B6)&"]!0")

EXCEL中TEXT函数与日期函数详解

原值 公式结果 公式

1 一 =TEXT(A3,"[DBNUM1]")

10 一十 =TEXT(A4,"[DBNUM1]")

11 一十一 =TEXT(A5,"[DBNUM1]")

1 一 =TEXT(A6,"[DBNUM1]0")

10 一○ =TEXT(A7,"[DBNUM1]0")

11 一一 =TEXT(A8,"[DBNUM1]0")

1 壹 =TEXT(A9,"[DBNUM2]")

10 壹拾 =TEXT(A10,"[DBNUM2]")

11 壹拾壹 =TEXT(A11,"[DBNUM2]")

1 壹 =TEXT(A12,"[DBNUM2]0")

10 壹零 =TEXT(A13,"[DBNUM2]0")

11 壹壹 =TEXT(A14,"[DBNUM2]0")

1 1 =TEXT(A15,"[DBNUM3]")

10 1十 =TEXT(A16,"[DBNUM3]")

11 1十1 =TEXT(A17,"[DBNUM3]")

1 1 =TEXT(A18,"[DBNUM3]0")

10 10 =TEXT(A19,"[DBNUM3]0")

11 11 =TEXT(A20,"[DBNUM3]0")

12.3 12.3 =TEXT(A21,"##.##")

12.3 12.30 =TEXT(A22,"##.#0")

12.35 12.35 =TEXT(A23,"##.#0")

0.123 12.30% =TEXT(A24,"##.#0%")

0.123 23/187 =TEXT(A25,"#??/???")

1234 ¥1,234 =TEXT(A26,"¥#,##0")

2007-8-9 2007 =TEXT(A27,"YYYY")

2007-8-9 07 =TEXT(A28,"YY")

2007-8-9 08 =TEXT(A29,"MM")

2007-8-9 09 =TEXT(A30,"DD")

2007-8-9 星期四 =TEXT(A31,"aaaa")

2007-8-9 四 =TEXT(A32,"aaa")

2007-8-9 aa =TEXT(A33,"aa")

8:26 08 =TEXT(A34,"hh")

8:26 08:26 =TEXT(A35,"hh:mm")

8:26 08:26:00 =TEXT(A36,"hh:mm:ss")

1、”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项。

例:代码:”G/通用格式”。10显示为10;10.1显示为10.1。

2、 “#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。

例:代码:”###.##”,12.1显示为12.10;12.1263显示为:12.13

3、”0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。

例:代码:”00000”。1234567显示为1234567;123显示为00123

代码:”00.000”。100.14显示为100.140;1.1显示为01.100

4、”@”:文本占位符,如果只使用单个@,作用是引用原始文本,

要在输入数字数据之后自动添加文本,使用自定义格式为:”文本内容”@;要在输入数字数据之前自动添加文本,使用自定义格式为:@”文本内容”。@符号的位置决定了Excel输入的数字数据相对于添加文本的位置。

如果使用多个@,则可以重复文本。

例:代码”;;;"集团"@"部"“,财务显示为:集团财务部

代码”;;;@@@“,财务显示为:财务财务财务

5、”*”:重复下一次字符,直到充满列宽。

例:代码:”@*-”。”ABC”显示为”ABC-------------------”

可就用于仿真密码保护:代码”**;**;**;**”,123显示为:************

6、”,”:千位分隔符

例:代码” #,###“,12000显示为:12,000

7、:用这种格式显示下一个字符。"文本",显示双引号里面的文本。

“”:显示下一个字符。和“”””用途相同都是显示输入的文本,且输入后会自动转变为双引号表达。

例:代码"人民币 "#,##0,,"百万",与人民币 #,##0,,百万,

输入1234567890显示为:人民币 1,235百万

8、“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数

例:分别设置单元格格式为”??.??”和”???.???”,对齐结果如下:

输入12.1212 显示12.12 12.121

9、颜色:用指定的颜色显示字符。可有八种颜色可选:红色、黑色、黄色,绿色、白色、兰色、青色和洋红。

例:代码:“[青色];[红色];[黄色];[兰色]”。显示结果为正数为青色,负数显示红色,零显示黄色,文本则显示为兰色

[颜色N]:是调用调色板中颜色,N是0~56之间的整数。

例:代码:“[颜色3]”。单元格显示的颜色为调色板上第3种颜色。、

10、条件:可以单元格内容判断后再设置格式。条件格式化只限于使用三个条件,其中两个条件是明确的,另个是“所有的其他”。条件要放到方括号中。必须进行简单的比较。

例:代码:“[>0]”正数”;[=0];”零”;负数”。显示结果是单元格数值大于零显示正数,等于0显示零,小于零显示“负数”。

11、 “!”:显示“"”。由于引号是代码常用的符号。在单元格中是无法用"""来显示出来“"”。要想显示出来,须在前加入“!”

例:代码:“#!"”。“10”显示“10"”

代码:“#!"!"”。“10”显示“10""”

12、时间和日期代码常用日期和时间代码

“YYYY”或“YY”:按四位(1900~9999)或两位(00~99)显示年

“MM”或“M”:以两位(01~12)或一位(1~12)表示月。

“DD”或“D”:以两位(01~31)或一位(1-31)来表示天。

例:代码:“YYYY-MM-DD”。2005年1月10日显示为:“2005-01-10”

代码:“YY-M-D”。2005年10月10日显示为:“05-1-10”


本文标签: 显示 数字 格式 文本 代码