【问题标题】:Excel: DEC2HEX() wrong conversion !? How to fix or any other solution?Excel:DEC2HEX() 转换错误!?如何修复或任何其他解决方案?
【发布时间】:2017-11-27 10:55:19
【问题描述】:

想法是将小时添加到日期时间并转换为十六进制。

我有下表:

B列我把小时数添加
C列中,我使用公式:=INDIRECT(ADDRESS(ROW()-1,COLUMN()))+B3/24,计算新时间
D列中,我使用公式:=(C3-DATE(1970,1,1))*86400,计算时间戳
E 列 我使用公式: ="0x"&DEC2HEX(D3) ,将时间戳转换为 HEX

问题:

当用 DEC2HEX 转换 D3(时间戳)时,它是不正确的,但其他的都可以(在代码片段上)!

0x59DC6FEF = 10/10/2017 06:59:59
0x59DC6FF0 = 10/10/2017 07:00:00

解决办法是什么?我需要进行正确的转换,那 1 秒也很重要

【问题讨论】:

  • 为什么需要十六进制的日期时间?也许有更好的方法来实现你的最终目标,不管它是什么

标签: excel hex decimal


【解决方案1】:

这看起来像是某种舍入问题,D3 中的结果被认为略低于显示的实际值 - 尝试在 D 列中使用 ROUND 函数,例如

=ROUND((C3-DATE(1970,1,1))*86400,0)

【讨论】:

    猜你喜欢
    • 2011-03-14
    • 2011-03-10
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多