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生成的几种日期格式:(假设当前系统日期为2010128)
YYYY
=text(now(),"YYYY") (返回:2010
dbnum1
=TEXT(NOW(),"[dbnum1]yyyymd") 中文小写日期(返回:二年一月二十八日)
dbnum2
=TEXT(NOW(),"[dbnum2]yyyymd") 中文大写日期(返回:贰零壹零年壹月贰拾捌日)

日期转换
20080808修改成20080808的格式可以用以下公式:
=text("20080808","#-00-00")

把英文月份化成数字月份:
=MONTH(("Aug"&1))
=MONTH(("August"&1))

返回一个月的最后一天,就是用下一个月的第一天-1就行。
得到上一个月的最后一天:
=today()-day(now())

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

返回星期:(假设当前系统日期为2010128日,星期四)
=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",)-->就是等于行12 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}这个数组
 
B
C
D
E
2
示例:查字符串中第一个字母"a"的位置,如果没有到则返回0
 
3
字符串
位置
IF公式
Text公式
4
afair
1
=IF(FIND("a",B4&"a")>LEN(B4),0,FIND("a",B4&"a"))
=TEXT(FIND("a",B4&"a"),"[>"&LEN(B4)&"]!0")
5
beat
3
=IF(FIND("a",B5&"a")>LEN(B5),0,FIND("a",B5&"a"))
=TEXT(FIND("a",B5&"a"),"[>"&LEN(B5)&"]!0")
6
Excel
0
=IF(FIND("a",B6&"a")>LEN(B6),0,FIND("a",B6&"a"))
=TEXT(FIND("a",B6&"a"),"[>"&LEN(B6)&"]!0")
 
 EXCELTEXT函数与日期函数详解
 
原值 公式结果 公式
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 =TEXT(A15,"[DBNUM3]")
10 1十 =TEXT(A16,"[DBNUM3]")
11 1十1 =TEXT(A17,"[DBNUM3]")
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,"##.text函数什么意思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,"hhmm")
8:26 08:26:00 =TEXT(A36,"hhmmss")

1”G/通用格式:以常规的数字显示,相当于分类列表中的常规选项。
例:代码:”G/通用格式10显示为1010.1显示为10.1
 2 “#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。
例:代码:”###.##”,12.1显示为12.10;12.1263显示为:12.13
3”0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。
例:代码:”00000”1234567显示为1234567123显示为00123
代码:”00.000”100.14显示为100.1401.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]:是调用调板中颜,N0~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”2005110日显示为:“2005-01-10”
代码:“YY-M-D”20051010日显示为:“05-1-10”
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。