Google表格/应用程序“正在加载数据”错误:有更好的解决方法吗?

时间:2019-07-12 21:29:11

标签: google-apps-script google-sheets

在Google表格中,我在单元格中收到“错误:正在加载数据...”消息。我将问题缩小为更改浮点数的最后一位,并将其与用Google脚本编辑器/ javascript编写的简单自定义函数进行交互。我认为这是Google表格/应用中的真实错误(并且我已经通知Google)。我通过使用value()函数找到了一种解决方法,但是我想知道是否有人知道更好的解决方法。

  • 更新:以下两个评论者发现,该错误没有 目前看来是可复制的,似乎已经消失了 在此原始帖子的几个小时内。在此之前发布 stackoverflow,我在两个单独的工作表中重现了此错误 我自己,其中一个是下面的非常简单的示例,所以我 不知道发生了什么变化。

此错误源于较大的工作表,但经过数小时的侦探工作,我将其缩小为以下最小的可重现示例。

从单元格B7 = 0.925990756477147开始。将单元格B8设置为

=(10*B7)^0.41

正确评估为

   2.4906

将单元格B9设置为

   =passthrough(B8)

,它将在永远不会消失的单元格中生成“正在加载...”消息。单击单元格,您将看到错误消息    “错误:    正在加载数据...”

您必须先定义传递功能,方法是转到“工具”->“脚本编辑器”,然后输入简单功能(仅返回其参数):

function passthrough(arg){
  return(arg)
}

如果在单元格B8中用0.4100000001替换幂计算中的0.41指数,或者对浮点计算进行了其他小的更改,该错误就会消失。仅当将单元格B8作为参数传递给“自定义”函数(在javascript的Google脚本编辑器中编写)时,才会出现此问题。可以很好地应用sqrt(B8)等Google表格的内置功能。<​​/ p>

我发现的一种解决方法是将单元格B8替换为

   =value( (10*B7)^0.41 )

,但是临时将所有结果包装在value()函数中。有更好的解决方法吗?有没有一种方法可以编写javascript例程来更好地处理给出的数字? (我想知道它是否被赋予128位浮点数,而不是标准的双64位浮点数。)我已经在Sheets中向Google报告了此错误,“帮助->报告问题””

此Google工作表中提供了一个可复制的最小示例,其中有一些变化:

https://docs.google.com/spreadsheets/d/1UJgg49g42otQZwDh2wAvwkeFvtfc-2iEnysB-HOjRPA

0 个答案:

没有答案