Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2624|回复: 8

[已解决]诡异的 Text 函数求解释

[复制链接]
发表于 2014-5-3 23:59 | 显示全部楼层 |阅读模式
本帖最后由 FnG 于 2014-5-4 09:01 编辑

=text(now(),now())

F9后得到数据如下,举两个例子:

=TEXT(41762.9729591435,41762.9729591435)
=4176241763.9729591435

=TEXT(41762.9758802083,41762.9758802083)
=4176241762.9758892883

大多数情况个位数是3(如例1),只有少数情况是2(如例2)
求解释:
1.第二步到最后一步怎么运算出来的(即F9刷黑后怎么得出最终结果,数字是什么意思我知道,可不用解释)?
2.第二参数没加引号跟加引号结果一样,为什么可以不加引号?

诡异的Text函数.rar (9.13 KB, 下载次数: 11)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-5-4 06:35 | 显示全部楼层    本楼为最佳答案   

首先 就是TEXT第二参数 用数值本身就是可以。。文本都是要加引号的。。如果你的个时代码是文本型的。 那肯定是要加引号的。对吧。文本代码格式的好处就是不定长。而数值是定长的。也就是说到一定位数他会自从转换。

第二个就是 这个0 与 .  在自定义格式代码中是有一定意义的。  当自定义格式代码为一个点的时候 。如 = text(3.2,".")
他默认识别的 是 "#." 前面是整数的位置。。 而附件中格式代码 41762.9729591435 会被默认识别为  "41762#.9729591435"
其他非 0 的数字在格式代码中 毫无意义。直接显示为本身。

那么他是如何进位的。。。 41762.9729591435 代码格式 41762.9729591435  由于小数位数没有给位置。(即小数部分没有 0 或#的代码格式)41762.9729591435 只能挤在 默认的#号的这个位置(可以把他看作成是个缩写)。所以EXCEL执行四舍五入 进位到整数  41763 ,最后放在 点的前方。。其他非0格式代码 照常显示。。最终结果  4176241763.9729591435

=TEXT(41762.9758802083,41762.9758802083)  这两个 开起了 2位小数的位置。。 (有一点值得注意。整数 位置的占位0与小数位置占位的 0 有一定的区别,整数位置的代码格式 如果 0不够 EXCEL会默认将其补齐 显示完整的整数。而小数位数的代码格式0不够的话。EXCEL不会将其补齐 ,而是四舍五入。)

首先我们把格式代码中的 非0的文本全部去处。41762.9758802083  最后其实代码就是 ".00"   小数的部分开启了两个位置。。第一个9 ,第二个位置为 7 ,由于7后面还有数据。且代码格式为开启 所以 7后面的要执行四舍五入。。。最后7舍入到8
那结果应该为 41762.98,,接着把你原来无意的文本插回对应的位置。(41762)41762.(97588)9(2)883.这就是结果。
如果说我让买你说的复杂了。。那么换个思路。。
把无意义的数字都换成 文本R 。或许看的更清楚些  ==TEXT(41762.9758802083,RRRR.RRRRR0R0RR).
首先不看文本 看  ".00" 的结果 41762.98   接着把这些文本 插回到 原来的 对应的位置。结果:RRRR41762.RRRRR9R8RR
其实 还是很容易理解的 。。主要是 全是数值有可能把人绕晕。。。
这个 弄懂了  E列的数据就好解释了。。
= text(now(),row(a10))  那这个最终的格式代码就是   10   ,1是无意义的。。看0  ,是整数部分。。首先返回NOW。
41762.8143853009  由于格式代码中 没有小数的位置。因此 四舍五入到 整数。41763   然后把1 插回原来的位置141763

点评

写得这么仔细啊,拜读了  发表于 2014-5-4 06:41

评分

参与人数 4 +18 收起 理由
qh8600 + 3 很给力!
tgydslr + 9 学习一下
FnG + 3 恭喜你获得本届最佳男主角奖!
xpm130 + 3 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-5-4 06:40 | 显示全部楼层
先说说例一是怎么来的
最后个位数是第1参数的四舍五入到整数后的个位数
例二为什么个位数是2呢
因为例2中的第2参数在小数点后面有两个0,所以四舍五入保留两位小数,此时,第1参数的结果是41762.98,再结合第2参数显示,这样说清楚了吗?

评分

参与人数 1 +3 收起 理由
FnG + 3 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-5-4 06:44 | 显示全部楼层
cbg2008 发表于 2014-5-4 06:40
先说说例一是怎么来的
最后个位数是第1参数的四舍五入到整数后的个位数
例二为什么个位数是2呢

最近上哪偷摸练习去了
回复

使用道具 举报

发表于 2014-5-4 06:45 | 显示全部楼层
顺⑦.zì繎。 发表于 2014-5-4 06:44
最近上哪偷摸练习去了

没练习,有时间就上来回答点问题,早知道你在,我就不来了,反正抢不过你

点评

你没看我都破产了。。。是N就没来抢题了。。。好不容易来一次还撞衫了。。。  发表于 2014-5-4 06:48
回复

使用道具 举报

发表于 2014-5-4 08:19 | 显示全部楼层
顺⑦.zì繎。 发表于 2014-5-4 06:35
首先 就是TEXT第二参数 用数值本身就是可以。。文本都是要加引号的。。如果你的个时代码是文本型的。 那肯 ...

阿顺讲得太好了.学习.
回复

使用道具 举报

发表于 2014-5-4 08:51 | 显示全部楼层
只能来学习一下了~

评分

参与人数 1 -1 收起 理由
FnG -1 灌水灌到我这来了,不发威你当我是你的头像.

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-5-4 09:01 | 显示全部楼层
顺⑦.zì繎。 发表于 2014-5-4 06:35
首先 就是TEXT第二参数 用数值本身就是可以。。文本都是要加引号的。。如果你的个时代码是文本型的。 那肯 ...

谢谢超级顺版,你说得太详细了,所以例二解释第一遍我就明白了,你还怕我不明白补充解释了第二遍,感动ing
我是一字一句地读下来的,有一句话我不知道理解得对不对:
“文本代码格式的好处就是不定长。而数值是定长的。也就是说到一定位数他会自动转换”
是不是说像0.00这样的格式用数值格式写不出来,它会自动变为0,只能用文本格式写,不知道是不是这意思?

点评

就这意思了。。。。。  发表于 2014-5-4 09:36
回复

使用道具 举报

发表于 2014-5-4 09:36 | 显示全部楼层
FnG 发表于 2014-5-4 09:01
谢谢超级顺版,你说得太详细了,所以例二解释第一遍我就明白了,你还怕我不明白补充解释了第二遍,感动in ...

骚年,看在你给我帖子评分的份上,顺顺的定长是相对数值而言,数值计算长度比文本小,,0.00作为数值只有0一个有效数字,类似的还有前导0。需要0.00格式的还可以是单元格引用~

评分

参与人数 1 +3 收起 理由
FnG + 3 看你说得还有道理,饶了你吧。

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 04:58 , Processed in 0.283311 second(s), 19 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表