我有一个谷歌电子表格,其中包含一些值和公式,我想将其复制到另一个电子表格中的另一个工作表中,但是粘贴的公式在新工作表中以
Formula parse error.
中断。
例如,公式
=FLOOR.MATH($C$2/100*$I$5, 5)
在第一个电子表格的工作表中有效,但在第二个电子表格的工作表中被破坏,即使手动重新输入也是如此。
删除引用并仅使用数字不会改变任何内容 - 仍然是相同的错误。然而,简单的公式和参考文献是有效的。例如,
=$C$2
和 =42/100 * 5
在两个电子表格中均按预期工作。
我已经确认该公式适用于第一个电子表格中的不同工作表,并且具有不同的值和单元格引用。
为什么此公式仅在一个电子表格中有效,而在输入到另一电子表格中时无效?
我发现问题了。这是由于电子表格之间的区域设置差异造成的。
“工作”电子表格所在的区域设置使用句点作为小数点分隔符。 “损坏的”电子表格所在区域设置使用逗号作为小数点分隔符。
这意味着在第二个工作表的公式中,分隔参数的逗号被解释为小数分隔符。这就是为什么简单的公式有效,而需要参数的更复杂的公式失败的原因。
这可以通过转到
File -> Spreadsheet settings
并检查每个文档的 Locale
设置来确认。
要修复有两种选择:
由于分号适用于所有区域设置,因此这是您应该进行的首选更改,尤其是在第一次编写公式时
如果您使用谷歌应用程序脚本,则可以使用以下代码更改区域设置:
// Get reference to the whole document
var newDocument = SpreadsheetApp.create(documentName);
// Change the locale
newDocument.setSpreadsheetLocale('es');
其中
是西班牙的语言环境es