ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8318|回复: 14

[求助] “四舍六入五成双”修约的模块

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-4-7 19:19 | 显示全部楼层 |阅读模式
小弟这里遇到一个需要用“四舍六入五成双”规则来修约的问题,Excel2003自带的函数里没有这个功能,所以想自己写个来用,但是这个模块不知道要怎么写,请各位大虾们帮帮忙!

TA的精华主题

TA的得分主题

发表于 2011-4-7 20:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 syz105729913 于 2011-4-7 19:43 发表
Option Explicit
Function AA(Y , I As Integer) As Double
AA = Round(Y , I)
End Function我这有个此规则的自定义函数。

此内置函数有bug,很多结果不正确,已知n年了.....

TA的精华主题

TA的得分主题

发表于 2011-4-7 19:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Option Explicit
  2. Function AA(Y , I As Integer) As Double
  3. AA = Round(Y , I)
  4. End Function
复制代码
我这有个此规则的自定义函数。

TA的精华主题

TA的得分主题

发表于 2011-4-7 19:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-4-7 20:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
四舍六入五成双

TA的精华主题

TA的得分主题

发表于 2011-4-8 11:00 | 显示全部楼层

回复 5楼 baomaboy 的帖子

哦,这个我还不知道呢,请指教,比如说哪些结果不正确,我好修改。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-4-25 18:39 | 显示全部楼层

回复 8楼 baomaboy 的帖子

给个思路吧,至少说下是以数字为主处理还是转换成文本处理?

TA的精华主题

TA的得分主题

发表于 2011-4-8 12:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 syz105729913 于 2011-4-8 11:00 发表
哦,这个我还不知道呢,请指教,比如说哪些结果不正确,我好修改。

大部分的老程序员都了解这个bug,你没办法修改,唯一的办法就是自己写算法,甚至你可以用工作表内置的round来减少代码,也不能用vba中的round

你分别试试下面修约
=aa(12.225,2)
=aa(1.225,2)
如果只是这一个数字好说,判断一下就行了,问题是很多,而且也不知道规律。

[ 本帖最后由 baomaboy 于 2011-4-8 12:46 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-4-8 12:43 | 显示全部楼层
所以四舍六入只能自己写,不过可以借用工作表的round简化点代码,(至少这个准啊,用这放心啊)
vba的round一会儿给你四舍六入,一会儿给你四舍五入,你敢用吗?

[ 本帖最后由 baomaboy 于 2011-4-8 12:47 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-4-25 20:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
都可以。

以数字运算为主处理的话也可以,搜搜可以找到不少源码,有个别的不成功,据说是由于浮点运算造成的。
所以个人倾向于转为文本处理,因为这样不掺加运算只用到逻辑判断,所以等同于人脑,永远不会错。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-7 05:20 , Processed in 0.026146 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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