首页 >> 技术文章 >> Office2007综合 >> Excel2003


跨越Excel 60进制栅栏

郭子君:我在用Excel 计算时间之和时发现,如果运算的结果超出60 分钟,Excel 会“ 智能” 地舍去60 或运行的结果根本就不是我期望的格式,可在实际工作中又经常会用到这些运算。如某人从甲地到乙地需要47 分32 秒,从乙地到丙地需要21 分05 秒,那如何计算跑完全程所需的时间总长度呢?
答:Excel 中的确没有提供这方面的功能,但利用自定义函数,可以满足你的需求。按组合键“ Alt+F11 ” 打开VBA 编辑器,单击“ 插入” 菜单中的“ 模块” 命令,在当前的工作簿中插入一个模块,在默认的“ 模块1 ” 中定义一个名为“ TimeAdd ” 的自定义函数,自定义函数的代码下载地址:http://download.cpcw.com
小提示:代码中用到了Split 函数,该函数可以把字符串按指定的分隔符分割成若干个部分并保存到相应的数组变量中去。这样就突破了常规方法中用Left 、Mid 、Right 函数只能提取两位数时间的限制,也解决了用Hour 、Minute 、Second 函数提取时间时不能超过60 分钟和60 秒钟的限制,3 位数以上时间也一样运算,非常的方便。
关闭VBA 编辑器返回到Excel 工作表中,此时利用TimeAdd 函数就可以方便地计算出两段时间之间的和了(见图)。
若要计算两个时间之间的差值,可再定义一个函数TimeDec ,将代码中的“ newtime = atime + btime ” 改为“ newtime=atime - btime ” ,代码末尾一行的变量“ timeadd ” 改为“ timedec ” 就可以了。

声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2008-4-3 8:54:02,点击:0打印】【关闭

上一篇:在Excel中用排序法妙打标准工资条
下一篇:Excel2003带“列宽”搬家

OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office吧自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

查看所有评论内容

评论内容