Excel精英培训网

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

[已解决]解释下Val函数?

[复制链接]
发表于 2014-10-23 21:24 | 显示全部楼层 |阅读模式
本帖最后由 sdfsdfs 于 2014-10-24 14:57 编辑

对Val函数不明白,帮忙解释一下?
最佳答案
2014-10-23 22:31
QQ截图20141023223042.png
发表于 2014-10-23 22:03 | 显示全部楼层
回复

使用道具 举报

发表于 2014-10-23 22:31 | 显示全部楼层    本楼为最佳答案   
回复

使用道具 举报

发表于 2014-10-23 22:32 | 显示全部楼层
Val 函数示例
本示例使用 Val 函数返回字符串中所含的数值。

Dim MyValue
MyValue = Val("2457")    ' 返回 2457。
MyValue = Val(" 2 45 7")    ' 返回 2457。
MyValue = Val("24 and 57")    ' 返回 24。
回复

使用道具 举报

 楼主| 发表于 2014-10-24 14:54 | 显示全部楼层
su45 发表于 2014-10-23 22:32
Val 函数示例
本示例使用 Val 函数返回字符串中所含的数值。

Val(3|ccc)
Val(1|r)
Val(1d|,1|y)
这3个返回多少?
回复

使用道具 举报

发表于 2014-10-24 15:15 | 显示全部楼层
val函数的参数是字符串,格式为 val(字符串)
我对这函数的理解是:他先将字符串的的空格去了,然后从左往右找数字,直到遇到非数字或不能再构成数字为止。
如:
Val("  2  3   .  5 A 8  .  54") 的结果是23.5(找到A时,A是非数字就停了)
Val("  2  3   .  5  8  .  54")  的结果是23.58(找到第二个.时不能与前面的构成数字,停止)
Val("  X 2  3   .  5  8  .  54")  的结果是0(找到X时,X是非数字,停止)
Val("  8  .  5  4    ")  的结果是8.54(这没说的,非正常)
当然,你提的:Val(3|ccc)     Val(1|r)  Val(1d|,1|y) 这三个,其参数都不是字符串,括号中也不是变量名,所以全部是错的,得不到你想要的结果。改为形如Val("3|ccc")等形式就有结果了,结果是什么你试下就晓得了

评分

参与人数 1 +3 收起 理由
sdfsdfs + 3 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-10-24 16:47 | 显示全部楼层
上清宫主 发表于 2014-10-24 15:15
val函数的参数是字符串,格式为 val(字符串)
我对这函数的理解是:他先将字符串的的空格去了,然后从左往右 ...

解释的非常好,谢谢!!!
回复

使用道具 举报

 楼主| 发表于 2014-10-25 16:02 | 显示全部楼层
上清宫主 发表于 2014-10-24 15:15
val函数的参数是字符串,格式为 val(字符串)
我对这函数的理解是:他先将字符串的的空格去了,然后从左往右 ...

还有一种情况,Val("00001") 怎么结果是1, 0000也是数字?
回复

使用道具 举报

发表于 2016-7-27 16:57 | 显示全部楼层
上清宫主 发表于 2014-10-24 15:15
val函数的参数是字符串,格式为 val(字符串)
我对这函数的理解是:他先将字符串的的空格去了,然后从左往右 ...

膜拜~
回复

使用道具 举报

发表于 2016-8-5 20:26 | 显示全部楼层
sdfsdfs 发表于 2014-10-25 16:02
还有一种情况,Val("00001") 怎么结果是1, 0000也是数字?

返回的是数字,00001不就是1吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 00:03 , Processed in 0.313268 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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