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