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]);
}
}
范围。设置值(单元格);
}
如果这对你不起作用,请告诉我