格式化绝对值的脚本不起作用

时间:2015-12-02 16:41:01

标签: google-apps-script google-sheets

我有一张带有脚本的Google表格,该脚本可以格式化某些列的货币。但最近,我不得不修改脚本,以便更改绝对值的值,并开始添加干扰使用它们的函数的负值。我尝试了以下脚本,但值没有变化,它们仍为负数。我做错了什么?

function onEdit(){
    var Spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = Spreadsheet.getSheets()[0];
    var Range = sheet.getRange('audit!f:q');
    Range.clearFormat();
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheets()[0];
    var cell = sheet.getRange('audit!f:q');
    cell.setNumberFormat(Math.abs('audit!f:q'));
 }

1 个答案:

答案 0 :(得分:3)

函数setNumberFormat()需要一个字符串,其中包含您希望显示值的格式。例如,如果您将'0.000'作为格式,则单元格中的值将显示为{{1 },1 -> 1.000等等。 您可以使用函数34 -> 34.000删除此格式。

clearFormat()将用于修改变量的实际值,因此它不是格式。

因此,在这种情况下,您需要使用范围中的值进行循环,并在每个值上使用Math.abs()函数以获得所需内容。

我修改了你的代码,以便它可以获取范围内的值并执行上面描述的操作。我也删除了重复的代码。

Math.abs()

如果这对您不起作用,请告诉我。