从Google Spreadsheet中的纯文本单元格中删除的字符串在ISBLANK函数中生成TRUE

时间:2013-02-11 20:54:43

标签: google-apps-script google-sheets

我使用ISBLANK函数来确定单元格是否为空。但是,ISBLANK函数在发生以下情况时反应有点奇怪:

  

当单元格格式化为纯文本时(菜单格式,数字,   纯文本),并删除该单元格的内容,ISBLANK   函数认为单元格被“填充”,即返回TRUE。该   LEN函数返回零。添加IFERROR(1/0)将会产生   再次FALSE

是否可以在Google电子表格或Google Apps脚本中获取该单元格的状态,以便我可以构建一个涵盖此现象的函数(在GAS中)。

请参阅我准备的示例文件:ISBLANK returning TRUE for empty cell

1 个答案:

答案 0 :(得分:1)

你可以拥有一个表现相似的isBlank函数。

function isBlank(sheet, cellRange) {
  var cell = sheet.getRange(cellRange);
  var value = cell.getValue();
  return String(value).replace(/ /g, '') == '';
}

如果您在单元格中碰巧有公式或预定义格式,则空单元格返回的值将为' '(单个空白字符)。所以我在将值与空字符串进行比较之前剥离空格。