您的当前位置:首页EXCEL中的TEXT函数详解

EXCEL中的TEXT函数详解

2022-03-08 来源:乌哈旅游
EXCEL中的TEXT函数详解

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\

把英文月份化成数字月份: =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}这个数组

B C D E 示例:查找字符串中第一个字母\"a\"的位2 置,如果没有找到则返回0。 字位3 符置 串 IF公式 Text公式 afa=IF(FIND(\"a\=TEXT(FIND(\"a\4 1 ir IND(\"a\LEN(B4)&\"]!0\") bea=IF(FIND(\"a\=TEXT(FIND(\"a\5 3 t IND(\"a\LEN(B5)&\"]!0\") Exc=IF(FIND(\"a\=TEXT(FIND(\"a\6 0 el IND(\"a\LEN(B6)&\"]!0\")

因篇幅问题不能全部显示,请点此查看更多更全内容