在工作表中,我想自动取负数,将颜色更改为红色,并删除“-”字符。单元格中的数字可以根据其他单元格中的数据在正负之间波动,例如...
A1 = "some number"
A2 = "some number"
A3 = A1 + A2 (number should be red if value is a negative, and '-'
should be stripped off. Otherwise number should be black.
我写了一个应该执行此操作的应用程序脚本
function negativesToRed(num) {
if (num < 0) {
var newNum = (num * -1).toString();
var redNum = newNum.fontcolor("red");
}
return redNum;
}
但是当我使用它时,它返回...
<font color="red">605</font>
...在牢房中
注意:当在A1或A2中输入的数据更改为负数时,A3需要变为红色。仅当用户手动将A3更改为负数时,onEdit()才起作用。 AND如果A3中的值在其他地方使用,则需要将其视为负数(删除“-”仅用于显示)。
反正有什么要使它起作用?
最佳答案
是的,有一种方法可以在AppsScript中执行此操作以用于显示。您可以更改数字格式的显示方式,而无需更改单元格的值。将正数设置为显示为黑色,将负数设置为显示为红色,而不显示负(-)符号。例如,要更改仅列10的显示,请执行以下操作:
var ss = SpreadsheetApp.openById('sheetIDhere').getSheetByName('sheetNameHere');
ss.getRange(2, 10,ss.getLastRow()-1, 1).setNumberFormat('[Black]#,##0;[Red]#,##0;');
您还可以通过以下方式更新单元格/列/工作表的数字格式:选择要在工作表本身中更改视图的列,单击格式->数字->更多格式->自定义格式->并输入[黑色]#,## 0; [红色]#,## 0;进入自定义区域。
关于javascript - 在Google表格中使用字体color()返回单元格中的HTML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57525261/