代码之家  ›  专栏  ›  技术社区  ›  samppa

如何获取并修复有错误的单元格的原始值

  •  0
  • samppa  · 技术社区  · 7 年前

    我在将表格数据从网页复制粘贴到工作表时遇到问题,例如,单元格值以等号(“=”)开头,并且区域设置的小数分隔符(“,”)不正确

    =+90,00
    

    引起床单投诉 #ERROR! - Formula parse error.

    因为我不能轻易地改变数据的来源,而且有很多数据,所以我不能手动删除或改变那些认为是公式而破坏值的字符。

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

    E、 g.在名为RawSource cell A1的工作表上,我有值(公式)

    =+90,00个
    

    这会导致错误!在那个牢房里。在目标工作表中,我尝试使用此公式通过删除第一个字符(等号)来修复错误:

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

    但到目前为止还没有运气,因为我认为错误值是通过单元格函数传播的,而不是通过单元格的原始内容传播的。

    有没有办法在不手动更改源数据的情况下解决这个问题?

    2 回复  |  直到 7 年前
        1
  •  0
  •   player0    7 年前

    一旦你输入一个 #ERROR! 它不能用另一个公式来修正,因为用过的公式看不到错误的背后。解决办法是:

    • 如果您使用 IMPORTHTML / IMPORTXML /等等,把它包起来 REGEXREPLACE SUBSTITUTE 在某些情况下甚至在 TO_TEXT 与组合 ARRAYFORMULA 排除引起错误的案例
    • 如果粘贴了(与您的情况一样),您唯一的选择是手动添加 ' 在每个错误单元的前面(例如。 '=+90,00 )
    • 此外,您可以尝试将其粘贴到具有不同语言环境(法语、西班牙、捷克语等)的工作表中,然后从那里将其复制粘贴到工作表中
        2
  •  0
  •   Wicket    7 年前

    如果这是你将要做的事情,请考虑以下步骤

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

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