Google apps script 用于设置绝对值格式的脚本不';行不通

Google apps script 用于设置绝对值格式的脚本不';行不通,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个谷歌表单,上面有一个脚本,可以为货币设置一些列的格式。但最近,我不得不修改脚本,使其更改值​绝对值​以及开始增加负值​干扰使用它们的功能。我尝试了以下脚本,但值没有变化​, 它们仍然是消极的。我做错了什么 function onEdit(){ var Spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = Spreadsheet.getSheets()[0]; var Range = she

我有一个谷歌表单,上面有一个脚本,可以为货币设置一些列的格式。但最近,我不得不修改脚本,使其更改值​绝对值​以及开始增加负值​干扰使用它们的功能。我尝试了以下脚本,但值没有变化​, 它们仍然是消极的。我做错了什么

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'));
 }
该函数需要一个字符串,该字符串的格式与您希望的值显示格式相同。例如,如果将
'0.000'
作为格式,单元格中的值将类似于
1->1.000
34->34.000
,依此类推。 您可以使用函数
clearFormat()
删除此格式

Math.abs()
将用于修改变量的实际值,因此它不是一种格式

因此,在本例中,您需要使用范围内的值进行循环,并对每个值使用
Math.abs()
函数,以获得所需的值

我修改了您的代码,以便它可以接受范围内的值并执行我上面描述的操作。我还删除了重复的代码

函数onEdit(){
var电子表格=SpreadsheetApp.getActiveSpreadsheet();
var sheet=Spreadsheet.getSheets()[0];
var Range=sheet.getRange('Sheet1!a:b');
var cell=Range.getValues();
Range.clearFormat();
for(单元格中的var行)
{
for(单元格[行]中的变量列)
{
单元格[行][col]=Math.abs(单元格[行][col]);
}
}    
范围。设置值(单元格);
}
如果这对你不起作用,请告诉我