首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Excel的工作表比较运算符给出的结果是否不一致?

Excel的工作表比较运算符给出的结果是否不一致?
EN

Stack Overflow用户
提问于 2013-05-10 04:27:09
回答 2查看 264关注 0票数 2

请考虑以下内容。将=400000000000000/3放在一个单元格中,即"A1“。Excel将显示133333333333333.0000。精度是小数点右边的零位,因为显然,Excel的浮点精度不超过15位。现在将以下公式放入一个单元格中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=A1=ROUND(A1,0) 

公式会生成True,因为小数点右边没有数字...还是真的有?打开VBA编辑器,在项目窗格中的工作簿上单击鼠标右键,然后插入VBA模块。定义以下UDF:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Function Equals(dblOne As Double, dblTwo As Double) As Boolean
    Equals = dblOne = dblTwo
End Function

现在返回到您的工作表,并将以下公式放入单元格中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=Equals(A1,ROUND(A1,0))

结果现在是False。为什么?

EN

回答 2

Stack Overflow用户

发布于 2013-05-10 06:58:53

Excel的15个明显的精度小数位数是威廉·卡汉的essay“浮点计算中的舍入的盲目评估是多么无用?”的整整一节的目标:

15sig有什么特别之处?十二月份?最多显示15sig。与Excel一样,确保输入的数字最多具有15个符号。12月,转换为二进制浮点数,正确舍入为53符号。位(这是Excel的算术携带的),然后显示转换回十进制浮点,正确四舍五入到至少同样多的sig。12月。如果输入的数字不超过15,将始终显示与输入的数字完全相同的数字。使Excel的算术看起来像十进制而不是二进制的决定将Excel的显示限制为最多15sig。12月,从而很好地隐藏了欺骗,从而大大减少了对Excel技术帮助台的呼叫次数。当察觉到欺骗的症状时,它们通常会被误诊;例如,请参阅大卫·爱因斯坦在2005年5月16日和30日在旧金山纪事报E2页上的专栏。

这一节的结尾是:

这不是列出所有需要的更正的地方。这里引用它只是为了举例说明设计为不能被发现的错误。

票数 3
EN

Stack Overflow用户

发布于 2013-05-10 06:32:40

如果你运行下面的代码,msgbox会给出两个值的差异。因此,它返回false。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   Function Equals(dblOne As Double, dblTwo As Double) As Boolean
        MsgBox dblOne - dblTwo
        Equals = dblOne = dblTwo
    End Function

下面的代码将返回true

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Function Equals(dblOne As Double, dblTwo As Double) As Boolean
    Equals = Round(dblOne, 0) = dblTwo
End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16475192

复制
相关文章
Excel应用实践22: 比较并合并工作表
有两个工作表,均含有相同的数据,但最后一列名称和产品的数量不同,如下图1和图2所示。
fanjy
2019/10/22
7490
Excel应用实践22: 比较并合并工作表
Excel实用工具17:工作表数据比较工具
这是ESCAPE FROM EXCEL HELL中提供的一个工作簿,可以用来比较两个工作表数据,如下图1所示。
fanjy
2019/12/06
1K0
VBA判断工作表是否存在&不存在时创建(Excel)
Function 表存在(s) For Each i In Sheets If i.Name = s & "" Then 表存在 = 1 '连接空白是避免表格名为数值时格式不同 ' Debug.Print i.Name = s Next End Function Function 建表(s) For Each i In Sheets If i.Name = s Then Exit Function Next Sheets.Add(, Sheets(Sheets.Count)).Nam
林万程
2018/06/20
4.7K0
Excel破解工作表保护
宏运行 Public Sub Password_cracking() Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "" Const HEADER As String = "Password_cracking" Const VERSION As String = DBLSPACE & " Version 1.0"
步履不停凡
2019/09/11
9150
Excel: 受保护的工作表使用筛选功能
文章背景:工作生活中,有时很多人都会用到同一份模板文件。为了防止文件内的公式被修改,以及单元格的误删除,往往都会给文件设置保护。受保护的同时,希望可以正常使用筛选等功能。
Exploring
2022/09/20
3.8K0
Excel:  受保护的工作表使用筛选功能
Java保护Excel工作簿和工作表
出于安全原因,你可能需要保护整个工作簿或工作表。 有时,你甚至可能还需要保护某个工作表,但却保留指定的单元格进行编辑。 本文将介绍如何使用Free Spire.XLS for Java来实现这些操作。
崔笑颜
2020/06/08
1.5K0
python合并工作表 VS excel合并工作表,看看合并工作表哪家强!
在日常办公工作中,我们可能会碰到多个或者几百上千个数据结构都相同 sheet工作表需要你进行合并汇总。而excel和python都能进行工作表的合并,那你知道他们两个的操作谁更为好用的吗?今天就分别介绍excel和python合并工作表的方法,看看合并工作表那家强!
Python与Excel之交
2021/08/05
1.6K0
Excel事件(二)工作表事件
大家好,上节介绍了excel事件的基础知识,后面就按照事件的分类来介绍,本节将首先介绍vba程序开发中最常用的工作表事件。
无言之月
2019/10/13
3.7K0
使用Python拆分Excel工作表
才开通星空问答,就收到了小几个问题,试着回答了,不知道满不满意,相信随着水平的增长,会让大家更加满意的。相关链接>>>Excel与VBA,还有相关的Python,到这里来问我
fanjy
2021/11/10
3.5K0
使用Python拆分Excel工作表
给Excel工作表建立目录
有时候我们会在一个工作簿中建立很多工作表,怎样才能简单明了的管理工作表呢,当然能建一个目录最好了,这里我们就学习一种给工作表创建目录的方法。 1、在工作簿中新建一个工作表,命名为“目录”。 2、单击B
用户1756920
2018/06/20
1.6K0
Excel小技巧25:Excel工作表打印技巧
当工作表中含有较多数据时,可能由于列数太多会打印到几张纸中,其实,我们可以适当调整比例,在一张纸中打印所有列。当然,前提条件是打印出来的字体不能过小。
fanjy
2019/12/04
1.9K0
快速汇总多个工作簿/工作表中的数据(Excel工具推荐)
很多数据散落在很多工作表或者工作簿中,由于某项工作我们需要将这些数据做个汇总。比方,我们有以下三个工作簿
wujunmin
2021/09/07
11K1
快速汇总多个工作簿/工作表中的数据(Excel工具推荐)
如何插入或 Visio 中粘贴的 Excel 工作表
嵌入或链接 Excel 工作表通过对象命令在插入菜单上的绘图在 Visio loadTOCNode(2, 'summary'); 使用 插入 菜单上 对象 命令在 Visio 绘图中插入 Excel 工作表。 可以嵌入或链接的现有 Excel 工作表或您可以嵌入一个新的 Excel 工作表。 为此,请使用以下方法根据您的具体情况之一。 嵌入或链接现有的 Excel 工作表 loadTOCNode(3, 'summary'); 启动 Visio,然后打开绘图。 单击 插入 菜单上的 对象 ,然后单
cloudskyme
2018/03/20
10.3K0
技术分享 | 主从表的列不一致,复制是否会受影响
关于主从复制,目前用的比较普遍的是 RBR(Row-base replication) 这种方式,有这么一个问题大家可以一起思考一下。
爱可生开源社区
2021/02/26
3190
技术分享 | 主从表的列不一致,复制是否会受影响
Python-Excel-08-复制工作表
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
zishendianxia
2019/10/23
9570
Python-Excel-08-复制工作表
Excel中如何批量重命名工作表与将每个工作表导出到单独Excel文件
Step 1: 打开Developer Tab找到VBA (快捷键 Alt+F11)
繁华是客
2023/03/03
3.9K0
Excel应用实践21:实现工作簿所有工作表中的多值替换
有两个工作簿,一个工作簿中存放着要查找并替换成的文本,如下图1所示,列A中是要查找的文本,将列A中查找到的文本替换成列B中相应的文本,例如,将找到的“Excel”替换成“完美Excel”。
fanjy
2019/09/29
3.1K0
VBA: 判断某张工作表是否存在
文章背景:在操作Excel文件时,有时需要判断指定的工作表是否存在,根据判断结果进行后续操作。下面提供两种自定义函数。
Exploring
2022/09/20
3.1K0
Excel公式技巧14: 在主工作表中汇总多个工作表中满足条件的值
我们可能熟悉使用INDEX、SMALL等在给定单列或单行数组的情况下,返回满足一个或多个条件的值的列表。这是一项标准的公式技术。
fanjy
2020/03/12
9.2K0
可以使用通配符的20个Excel工作表函数
Excel提供了近20个支持在参数中使用通配符的工作表函数,本文将对这些函数进行介绍,更详细的信息可以参考Microsoft关于这些函数的帮助文档。
fanjy
2021/08/31
3.3K0

相似问题

内存引擎表给出不一致的结果

14

比较/搜索Excel工作表

22

用于比较工作表并将结果输出到另一工作表的Excel VB宏

11

excel vba中工作表的比较

13

旧Excel工作表与更新Excel工作表行比较

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文