Arrays Google应用程序脚本-替换二维数组中的公式

Arrays Google应用程序脚本-替换二维数组中的公式,arrays,replace,google-apps-script,Arrays,Replace,Google Apps Script,在下面的代码中,我尝试在二维数组中读取157行2列,它们都是公式。然后我需要从每个单元格中删除公式的一部分,然后将其写回同一范围内的工作表。在此步骤之前,我正在删除公式这部分引用的工作表。当我运行调试器时,一切运行正常,但我的值不会被替换。有什么想法吗 ss.setActiveSheet(ss.getSheetByName('Employee List')); var as = SpreadsheetApp.getActiveSheet(); var empid = as.getLastRow(

在下面的代码中,我尝试在二维数组中读取157行2列,它们都是公式。然后我需要从每个单元格中删除公式的一部分,然后将其写回同一范围内的工作表。在此步骤之前,我正在删除公式这部分引用的工作表。当我运行调试器时,一切运行正常,但我的值不会被替换。有什么想法吗

ss.setActiveSheet(ss.getSheetByName('Employee List'));
var as = SpreadsheetApp.getActiveSheet();
var empid = as.getLastRow();

var hrsRange = as.getRange(1, 3, empid, 2).getFormulas();
var i = 1;
while(i < empid)
{

  var emp = as.getRange(i, 2).getA1Notation();
  if (cpr == 20)
  {
    while(i < hrsRange.length)
    {
      var regHrs = "+sumif('" + array[x] + "'!O:O,$" + emp + ",'" + array[x] + "'!P:P)";
      var otHrs = "+sumif('" + array[x] + "'!O:O,$" + emp + ",'" + array[x] + "'!Q:Q)";
      hrsRange[i-1][0].toString().replace(regHrs,"");
      hrsRange[i-1][1].toString().replace(otHrs,"");

      i++;
    }
  } else {
    while(i < hrsRange.length)
    {
      var regHrs = "+sumif('" + array[x] + "'!O:O,$" + emp + ",'" + array[x] + "'!Q:Q)";
      var otHrs = "+sumif('" + array[x] + "'!O:O,$" + emp + ",'" + array[x] + "'!R:R)";
      hrsRange[i-1][0].toString().replace(regHrs,"");
      hrsRange[i-1][1].toString().replace(otHrs,"");

      i++;
    }
  }

  i++;
}

as.getRange(1, 3, empid, 2).setFormulas(hrsRange);
这一行:

      hrsRange[i-1][0].toString().replace(regHrs,"");
将返回字符串,而不是实际修改hrsRange[i-1][0]

您需要将结果字符串分配给hrsRange[i-1][0]:


非常感谢!我知道我错过了一些简单的事情。
 hrsRange[i-1][0]=hrsRange[i-1][0].toString().replace(regHrs,"");