#VALUE!尝试在公式中使用引用单元格时出错

#VALUE!尝试在公式中使用引用单元格时出错

我想使用单元格内的值,该单元格会不断从网页更新。单元格 C20 链接到另一个工作表ratedatasheet,该工作表显示来自在线网站的页面和表格。

RATEDATASHEET.A79我想在如下公式中使用 C20 内的值(链接为):

=IF(E24=0;A24*C20;A24*C24)

此公式放在 B24 单元格中,结果却显示#VALUE!错误。我尝试从源单元格中删除字母,但没有帮助。

我究竟做错了什么?

更新

我尝试过下面提到的两种公式:

IF(E24=0;A24*(value(C20));A24*C24)

IF(E24=0;A24*(indirect(C20));A24*C24)

作为回报,我面临着ERR502并且正如我从手册中看到的那样,它的意思是“函数参数具有无效值,例如根函数的负数。”

C20 单元格包含诸如“2,820250 TL”之类的值,该值由另一张名为“ratedatasheet”的工作表不断更新。公式放在单元格 B24 内,我想在其中查看结果。

表的 P​​rtSC

更新2

好的,我尝试过的新公式是 IF(E24=0;A24*VALUE(LEFT(C20;FIND(",";C20)-1));A24*C24) 这有助于从 C20 中的值(2,826250 TL)中提取“2”我还需要努力实现其余的值(.826250 TL)欢迎您对此提出建议!

最后更新

有人能向我解释一下这个对我有用的公式的解释吗?!

IF(E24=0;A24*VALUE(LEFT(C20;FIND(" ";C20;1)-4))/1000;A24*C24)

答案1

通过您编辑的附加信息,很明显您的问题有两个方面:

  • C20 的内容为文本格式,需要先转换为数字格式才能用于计算
  • C20 的内容包含文本字符,需要先删除这些字符,然后才能成功转换为数字

如果内容始终采用“数字文本”格式,则可以搜索空格并删除空格及其后面的文本字符,然后再转换为数字。例如

=IF(E24=0;A24*VALUE(LEFT(C20;FIND(" ";C20)-1));A24*C24)

编辑

从 UPDATE2 来看,文本单元格包含一个以 a,作为小数点的数字,而 OP 的语言环境使用 a.作为小数点,使用 a,作为千位分隔符。OP 发现,如果他们将小数点后的数字限制为 3,则该VALUE函数会将 解释,为千位分隔符,并且可以将该数字除以 1,000 以将小数点移动到正确的位置。

避免截断最后三位小数的解决方案是在运行该函数之前用SUBSTITUTE替换:,.VALUE

=IF(E24=0;A24*VALUE(SUBSTITUTE(LEFT(C20;FIND(" ";C20)-1);",";"."));A24*C24)

答案2

综上所述,

在研究了函数的工作原理后,我得出了下面的公式,该公式更简短,并给出了所需的精确结果。希望它能对某些人有所帮助。

=IF(E24=0;A24*VALUE(SUBSTITUTE(LEFT(C20;8);",";"."));A24*C24)
  • 无需使用“FIND”函数或除以 1000。

  • 公式中的数字‘8’表示‘从左到右包含全部 8 个字符(即 2,826250)。因此我们以这种方式避免‘空格’等,因为它位于字符串 9 中。

  • SUBSTITUTE 公式将 ',' 替换为 '.',以使计算成为可能,因为计算机使用 '.' 进行计算。尽管进行了这种替换,但公式的结果仍包含“,”作为小数分隔符。所以,无论如何,我们都会得到我们想要的结果。(在我的国家,逗号用作小数分隔符)

使用此方法,您可以在公式中使用外部在线数据进行计算。 VALUE(SUBSTITUTE(LEFT(C20;8);",";"."))- 这是上述公式的一部分,将原始数据转换为可用于计算的值

更新:单元格 C20 包含使用 Calc 的“链接到外部数据”功能从网页获取的原始数据 (2,826250 TL)。

感谢贡献者

相关内容