计量论坛

 找回密码
 成为会员

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: wangyiyong7703

[数据] 四舍六入五成双EXCEL实现

[复制链接]
发表于 2023-2-27 14:23:16 | 显示全部楼层
太牛了。公式我看着都头晕
发表于 2023-2-27 15:30:19 | 显示全部楼层
wangyiyong7703 发表于 2023-2-25 15:17
请您亲测一下,多提提意见,原创不易

EXCEL受限于浮点运算机制,是比较难处理 的。
发表于 2023-2-27 15:58:08 | 显示全部楼层
谢谢你的分享,用心了
 楼主| 发表于 2023-2-27 17:05:27 | 显示全部楼层
stacay 发表于 2023-2-27 15:30
EXCEL受限于浮点运算机制,是比较难处理 的。

确实碰到这种情况,改变了思路,才破解了。很不容易。不用宏程序解决确实太难了。我用宏程序测试过,目前还没有发现异常,宏程序在文件里面。可运行

四舍六入五成双在excel(不再更新).xlsx

27.31 KB, 下载次数: 23, 下载积分: 金币 -1

下载这个看一哈

发表于 2023-3-1 09:52:55 | 显示全部楼层
非常好用的,谢谢,这是编程界的来到了计量领域
发表于 2023-3-1 13:56:17 | 显示全部楼层
谢谢,帮大忙了
发表于 2023-3-1 14:40:08 | 显示全部楼层
牛啊!这个数据处理太牛了
发表于 2023-3-1 15:43:55 | 显示全部楼层
谢谢你的分享,真是太牛了。
发表于 2023-3-9 19:02:03 | 显示全部楼层
厉害了!我的哥!
 楼主| 发表于 2023-9-16 00:46:32 | 显示全部楼层
A2 输入待修约数,B2输入小数点,C2输入公式


IF(LEN(IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))=LEN(INT(A2)),IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2))&"."&REPT("0",B2),IF(LEN(INT(A2*POWER(10,B2)))+1>LEN((IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))),(IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))&REPT("0",LEN(INT(A2*POWER(10,B2)))-1-LEN((IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2))))),IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2))))
 楼主| 发表于 2023-9-16 01:01:35 | 显示全部楼层
A2输入待修约数字,B2输入保留小数点位数,C2输入公式

IF(B2=0,IF(OR(AND(ISEVEN(INT(A2)),A2-INT(A2)=0.5),A2-INT(A2)<0.5),INT(A2),INT(A2)+1),IF(LEN(IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))=LEN(INT(A2)),IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2))&"."&REPT("0",B2),IF(LEN(INT(A2*POWER(10,B2)))+1>LEN((IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))),(IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))&REPT("0",LEN(INT(A2*POWER(10,B2)))-1-LEN((IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2))))),IF(OR(AND(ISEVEN(INT(A2*POWER(10,B2))),A2*POWER(10,B2)-INT(A2*POWER(10,B2))=0.5),A2*POWER(10,B2)-INT(A2*POWER(10,B2))<0.5),INT(A2*POWER(10,B2))/POWER(10,B2),(INT(A2*POWER(10,B2))+1)/POWER(10,B2)))))
发表于 2023-12-15 16:48:49 | 显示全部楼层
大佬思路太牛了,看了一下都是用很基础的excel公式解决的,这个应该就不存在文件转发给别人之后会因为office不一样或者对方用WPS打开而失效了。
 楼主| 发表于 2023-12-19 15:50:36 | 显示全部楼层
唐家琨少 发表于 2023-12-15 16:48
大佬思路太牛了,看了一下都是用很基础的excel公式解决的,这个应该就不存在文件转发给别人之后会因为offic ...

关注之我后,还有更新的你可以看一哈其他的。用VB做过。现在做的这个还是有漏洞
发表于 2023-12-25 08:21:10 | 显示全部楼层
谢谢你的分享
发表于 2023-12-25 11:06:33 | 显示全部楼层
这个厉害!条件太多,复杂
发表于 2023-12-28 16:17:12 | 显示全部楼层
讲的很好,受益匪浅!学习了
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|Archiver|计量论坛 ( 闽ICP备06005787号-1—304所 )
电话:0592-5613810 QQ:473647 微信:gfjlbbs闽公网安备 35020602000072号

GMT+8, 2024-4-25 15:36 , Processed in 0.054014 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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