新手认为TEXT是Excel中最简单的函数,把第2参数设置为”aaaa”就可以把日期转换为星期; 高手认为是最难的函数,要把日期转换为想要的格式,还得反复研究设计参数。 没有人反对吧? 难就难在第2参数的设置没有约束,各种数字,字母,符号齐上阵。大多数要靠死记硬背,比如设置为“[DBnum1]”就能把数字转换为大写数字,设置为”m”就可以从日期中提取月份,更神奇的是可以把两者放在一起: =TEXT(B3,'[DBnum1]m月') 另外一小部分还是有逻辑可言,有一些不按套路出牌的套路。 日期时间 年,月,日的英文:year, month, day. TEXT中取其首字母作为第2参数格式来表示年月日。 以2023/3/15为例: “yyyy“返回份2023,”yy“返回23. “mm”返回03,“m”返回3 时,分,秒也是同理,取英文单词 hour, minute, second的首字母。 有了这些基础,下面这个长公式就很好理解了: =TEXT(B3,'yyyy年mm月dd日'&' 上午/下午'&'h时mm分ss秒') 三个分号 大于等于60分判定为及格,否则为空: =TEXT(C3-60,';不及格') 这个公式也不用死记硬背,套路是这样的: TEXT第2参数用3个分号(;)隔开,产生4个区间,分别表示正数,负数,零,文本,这4种情况下的返回值。 例如这个公式: =TEXT(B3,'正数;负数;零;文本') 如果是正数,输出“正数“; 如果是负数,输出“负数“ 如果是零,输出“零“ 如果是文本,输出文本“文本“
回过头来再理解这个公式: =TEXT(C3-60,';不及格') C3-60的结果可能是正数,负数,零三种结果; 【';不及格'】等同于:如果是负数,则返回“不及格“,其他返回空。 占位符 【0】【#】【?】这3个字符都可以作为占位符,最为熟悉的是【0】,常用控制数据的位数和格式。 指定小数位数: =TEXT(B3,'0.00') 注意,遵循四舍五入。 不足4位的数字,在前面用0补足4位: ='ST'&TEXT(C3,'0000') 手机号变成指定格式: =TEXT(B3,'000-000-00000') 搞懂了占位符,就可以自由发挥把数字变成想要的格式了,死记硬背是不可能的。 TEXT类似的套路数不胜数,以上两个只是冰山一角,学到一角算一角吧!
|