单元格为空时,Google表格应用脚本onEdit设置公式

时间:2018-10-25 03:58:55

标签: google-apps-script google-sheets

我正在尝试建立一个工作表,使人们每个月都可以写出他们的工作详细信息,其中涉及很多查找,但是需要允许人们根据需要添加自己的价值。到目前为止,我得到的是:

function onEdit(e)

{
  var ssA = SpreadsheetApp.getActive();
  var ss = ssA.getSheetByName("Completed") 
  var lastRow = ss.getLastRow();
  var range = ss.getRange(5,6,lastRow,1);
  var data = range.getValues();
  for(var i=0;i<data.length;i++)
  {  
    if(!data[i][0])//If true then it's blank
    {
      data[i][0]="=IFERROR(INDEX('Client lookup sheet'!C[-1]:C[-1],MATCH(R[0]C[-4],'Client lookup sheet'!C[-5]:C[-5],false)),\"\")"
    }
  }
  range.setValues(data);

已设置工作表,以便在输入客户名称时,下一列将用于查找该客户的相应位置。使用上面的代码,因此当用户不小心删除“位置”列中的公式时,可以使用onEdit函数重置该公式。

我遇到的问题是,即使代码可以很好地将空白单元格设置为具有公式,它也具有将查找值设置为原始值的不良行为,因此如果说杰伊被选为客户,该位置将基于查找列表填充为Sydney NSW,但setValues强制该单元格成为Sydney NSW,而不保留查找公式。

是否有一种方法可以检查列中的单元格是否具有公式,并防止在公式已经存在的情况下将其设置为值?

谢谢!并为冗长的问题感到抱歉

0 个答案:

没有答案