如何获取和修复具有#ERROR的单元格的原始值



将表格数据从网页复制粘贴到Sheets时遇到问题,以等号("=")开头的单元格值和区域设置的十进制分隔符(",")错误,例如

=+90,00

导致Sheets抱怨#ERROR! - Formula parse error.

因为我无法轻易更改数据源,而且数据量很大,所以我无法手动删除或更改破坏值的字符,因为我认为这是一个公式。

因此,我一直在寻找将单元格内容原始到另一个工作表单元格的方法,同时删除多余的字符。

例如,在名为RawSource单元格A1的表格上,我有值(公式)

=+90,00

导致#ERROR!在那个牢房里。在目的地工作表上,我尝试了这个公式,通过删除第一个字符(等号)来修复错误:

=RIGHT(CELL("contents", RawSource!A1), LEN(CELL("contents", RawSource!A1))-1)

但到目前为止运气不好,因为我认为ERROR值甚至通过CELL函数传播,而不是通过单元格的原始内容传播。

有没有任何方法可以在不手动更改源数据的情况下解决此问题?

一旦导入#ERROR!,就无法通过另一个公式进行更正,因为使用的公式看不到该错误的背后。解决方法有:

  • 如果您使用IMPORTHTML/IMPORTXML/等导入此类数据,请将其封装到REGEXREPLACESUBSTITUTE中,在某些情况下,甚至在TO_TEXT中使用ARRAYFORMULA组合来消除导致错误的情况
  • 如果粘贴了它(在您的情况下),您唯一的选择是在每个错误单元格的前面手动添加'(例如'=+90,00)
  • 此外,您还可以尝试将其粘贴到具有不同区域设置(法语、西班牙、捷克语等)的工作表中,然后从那里复制粘贴到您的工作表

如果这是您偶尔要做的事情,请考虑以下过程

  1. 创建新的电子表格
  2. 将区域设置更改为使用逗号作为小数分隔符的设置
  3. 导入使用逗号作为小数分隔符的数据
    • 这里的诀窍是Google Sheets会将导入的公式解释为具有有效数字
  4. 将值复制到使用点作为小数分隔符的电子表格中

另一种选择是使用谷歌应用程序脚本来获取公式,因为内置公式看不到公式,只能看到它们的结果或单元格属性,即有内置函数来检查单元格是否有公式ISFORMULA,但没有返回公式的函数。

相关内容

最新更新