如何获取显示#ERROR! 的单元格的后端值使用 Google Apps 脚本?

How to get back end value of a cell showing #ERROR! using Google Apps Script?

我使用 Zapier 将 Google 联系人与 Google 电子表格同步。我面临的问题是,当输入电子表格单元格时,国家代码为 +92348 555555 的联系人显示#ERROR!由于 space 的数量,当我手动删除 space 时,它运行良好并且不显示 #ERROR!。

我曾尝试使用 Google Apps 脚本获取单元格的值并从联系电话中删除 space,但我在获取单元格的后端值时遇到了问题显示#ERROR!。它给了我#ERROR!当我使用 Google Apps 脚本的 getValues() 或 getDisplayValues() 函数时。

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("CS2");
  var lr = ss.getLastRow();
  var data = ss.getRange("E2:E" + lr).getValues();
  for(var i = 0; i < data.length; i++)
  {
     Logger.log(data[i].toString());  
  }

当我双击带有#ERROR! 的单元格时,它显示 =6018 2888184,我想使用应用程序脚本代码获取此值。我得到的是#ERROR!.

您可以使用 getFormulas() 来消除错误。

尝试替换这个

  var data = ss.getRange("E2:E" + lr).getValues();
  for(var i = 0; i < data.length; i++)
  {
     Logger.log(data[i].toString());  
  }

有了这个

  var data = ss.getRange("E2:E" + lr).getFormulas();
  for(var i = 0; i < data.length; i++)
  {
     data[i][0] = data[i][0].replace(" ","");
  }
  ss.getRange("E2:E" + lr).setFormulas(data);