【问题标题】:Excel 2007, inconsistent logical OR responseExcel 2007,逻辑或响应不一致
【发布时间】:2021-11-27 00:08:25
【问题描述】:

关于 Excel 2007(尽管它可能与其他版本有关): 我想将 Excel 数据验证应用于手动输入的数据。在这种特殊情况下,输入的形式为 NN.nnnnh,其中数字“h”是“半数”。也就是说,它可以是 0 或 5。 电子表格将以英尺、英寸和 16 英寸的形式手动输入的土地测量转换为十进制英尺

半位的作用是让可选更高精度到1/32英寸。

例如: 43.0913 是 43 英尺、9 英寸和 13/16 英寸的原始条目。

现在,通过在小数点后第五位加上半位,可以表示精度为1/32"。

例如: 27.08135 是 27 英尺、08 英寸和 (13.5/16=) 27/32 英寸的手动输入。 使用 Excel TRUNC 函数将原始输入 NN.nnnnh 分解并转换为十进制数的英尺。这种转换方式类似于更熟悉的将输入为 D˚M'S" 的角度转换为 DD.dddddd)。

我想确保手动输入的第 5 位小数只有零或 5。

我可以单独应用逻辑测试来确定第五个十进制条目是零,还是 5。

但是,当我使用 =IF(OR( 结构结合这些单独的逻辑测试时,我得到不一致的结果 IFF 手动输入的数据具有整数值 (即,在 NN.nnnnh 格式中,任何长度只要一英尺或更大,手动输入为 >= 1.00000)。除非我承担桌面建筑比例模型的测量,否则这有严重的局限性!!!

我附上了一个示例电子表格来说明使用的公式和结果。 如果有人能对此有所了解,将不胜感激。
(如果有办法简单地附加 *.xlsx 示例......请告诉我。我本来打算这样做,然后发现这似乎是不可能的!)

【问题讨论】:

  • 不确定是否可以在此处附加实际工作簿。也许更简单地发布六个左右不同的示例以及预期的结果?

标签: excel excel-2007 logical-or


【解决方案1】:

使用MROUND测试数字是否相同:

=A1=MROUND(A1,0.00005)

【讨论】:

  • 哇。好吧,那行得通(我从来没有以这种方式使用过 MROUND 功能)!非常聪明。
  • 但是,我仍然对使用 IF(OR( 结构结合我的单独有用的逻辑测试的不一致结果感到困惑。
  • 我没有看到你的公式,所以我帮不了你。
  • 第一次测试:=IF(TRUNC(B3,5)-TRUNC(B3,4)=0, "ok", "error")
  • 第二次测试:=IF( TRUNC(B3,5)-TRUNC(B3,4) = 0.00005, "ok", "error")
猜你喜欢
  • 2020-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-05
  • 1970-01-01
  • 2019-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多