如何获取显示#ERROR的单元格的后端值!使用 Google Apps 脚本?
Posted
技术标签:
【中文标题】如何获取显示#ERROR的单元格的后端值!使用 Google Apps 脚本?【英文标题】:How to get back end value of a cell showing #ERROR! using Google Apps Script? 【发布时间】:2019-12-06 15:09:22 【问题描述】:我使用 Zapier 将 Google 通讯录与 Google 电子表格同步。我面临的问题是国家代码如 +92348 555555 的联系人在电子表格单元格中输入时显示#ERROR!由于数量上的空间,当我手动删除空间时,它运行良好并且不显示#ERROR!。
我曾尝试使用 Google Apps 脚本获取单元格的值并从联系号码中删除空格,但我遇到了获取显示 #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!。
【问题讨论】:
How to get and fix raw value of a cell that has #ERROR的可能重复 【参考方案1】:您可以使用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);
【讨论】:
以上是关于如何获取显示#ERROR的单元格的后端值!使用 Google Apps 脚本?的主要内容,如果未能解决你的问题,请参考以下文章
是否存在按 Ctrl + G 并选择空白不会突出显示空单元格的情况?