【问题标题】:Why am I getting There is a problem with this formula?为什么我得到这个公式有问题?
【发布时间】:2020-07-27 15:26:20
【问题描述】:

Excel 2019

我多年来一直在使用 Excel,但我无法弄清楚为什么会出现此错误。这是最小的小公式,但可爱且完全通用的错误并没有告诉我出了什么问题。

所以我有一个电子表格,其中有一列 (G) 填充了 TRUE 或 FALSE 值。我要做的就是,在下一列 (H) 中,如果 G 单元格为 FALSE,则输入零,如果为 TRUE,则输入 1。如果我在 H 单元格中输入一个公式,上面写着 =G2,它会起作用并复制该值。如果我输入 =G2 = FALSE(对于 FALSE 值),那么它会正确地将 TRUE 放入单元格中。但是,如果我在单元格中输入以下语句,则会出现一般错误“此公式有问题”:=IF(G2 = FALSE, 0,1)

它看起来对我来说是正确的,但我无法弄清楚。为什么逻辑测试单独工作而不在 IF 语句中工作?我尝试改变 G 和 H 列的数据类型,但并不喜欢。我知道这很愚蠢,我知道我错过了一些东西,但我似乎无法让它发挥作用。如果有人可以租给我一条线索,那就太好了。

谢谢!

【问题讨论】:

  • 您的位置设置是否正确?它可能期待=IF(G2 = FALSE; 0;1) 会给出该错误。
  • 你只需要=--G2
  • 有趣的事情即使=INT(G2) 也会起作用。
  • 我仍然不知道为什么我的公式不起作用,但 =--G2 和 =INT(G2) 都可以正常工作。半成品没有做任何事情,但我假设那是因为我的本地化设置很好(美国)。非常感谢大家。

标签: excel excel-formula


【解决方案1】:

在 Excel TRUE 和 FALSE 中已经附加了值,所以看起来很奇怪,只是将它乘以一个“=G2*1”,这应该会给你你正在寻找的东西。

【讨论】:

    【解决方案2】:

    得到了一些很大的帮助,我要说的是 Scott Craner 的答案是我使用的答案。似乎双破折号专门用于将 TRUE 和 FALSE 值更改为数字。以下所有工作都很好。谢谢各位!

    =--G2 (Scott Craner)
    =INT(G2) (JvdV)
    =G2*1 (Jim)
    

    【讨论】:

    • 对不起斯科特。 :)
    • 双破折号不“专门用于将 TRUE 和 FALSE 值更改为数字”。这是它们的作用,但不是它们存在的原因。他们对值执行数学运算,在本例中为单元格 G2 中的值,就像乘以 1 执行数学运算一样。您不会说乘以一的存在专门用于将 TRUE 和 FALSE 值更改为数字。单个- 将数字的符号更改为相反的符号。另一个- 将其改回。当值为文本时,这会导致文本值转换为数字,就像乘以 1 一样。
    猜你喜欢
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多