去掉整个专栏中的负号
Get rid of Negative signs from whole Column
我有一列,其中一些值是 $##.00,一些值是 -$##.00
我应该使用什么脚本将 -$##.00 值转换为 $##.00 值,即将所有数字转换为正数?
我尝试了以下方法,但效果不佳;
function removNeg(){
var sheet =SpreadsheetApp.openById('.........');
var ss = sheet.getSheets()[0];
var range = ss.getRange("M2:M");
var values = range.getValues();
var absValues = Math.abs(values);
range.setValues(absValues);
}
- 您想使用 Google Apps 脚本将负数修改为正数。
- 您想在
M2:M
的单元格中实现此目的。
如果我的理解是正确的,这个答案怎么样?
修改后的脚本:
当你的脚本修改后,变成如下。
function removNeg(){
var sheet =SpreadsheetApp.openById('.........');
var ss = sheet.getSheets()[0];
var range = ss.getRange("M2:M");
var values = range.getValues();
var absValues = values.map(([r]) => [!r || isNaN(r) ? r : Math.abs(r)]); // Modified
range.setValues(absValues);
// range.setNumberFormats(values.map(([r]) => ["$##.00"]));
}
注:
- 如果您还想将数字格式从
-$##.00
修改为$##.00
,请使用最后一行的range.setNumberFormats(values.map(([r]) => ["$##.00"]));
。
- 请在启用 V8 的情况下使用此修改后的脚本。
参考:
我有一列,其中一些值是 $##.00,一些值是 -$##.00
我应该使用什么脚本将 -$##.00 值转换为 $##.00 值,即将所有数字转换为正数?
我尝试了以下方法,但效果不佳;
function removNeg(){
var sheet =SpreadsheetApp.openById('.........');
var ss = sheet.getSheets()[0];
var range = ss.getRange("M2:M");
var values = range.getValues();
var absValues = Math.abs(values);
range.setValues(absValues);
}
- 您想使用 Google Apps 脚本将负数修改为正数。
- 您想在
M2:M
的单元格中实现此目的。
如果我的理解是正确的,这个答案怎么样?
修改后的脚本:
当你的脚本修改后,变成如下。
function removNeg(){
var sheet =SpreadsheetApp.openById('.........');
var ss = sheet.getSheets()[0];
var range = ss.getRange("M2:M");
var values = range.getValues();
var absValues = values.map(([r]) => [!r || isNaN(r) ? r : Math.abs(r)]); // Modified
range.setValues(absValues);
// range.setNumberFormats(values.map(([r]) => ["$##.00"]));
}
注:
- 如果您还想将数字格式从
-$##.00
修改为$##.00
,请使用最后一行的range.setNumberFormats(values.map(([r]) => ["$##.00"]));
。 - 请在启用 V8 的情况下使用此修改后的脚本。