Я использую этот код для вычитания одного столбца из другого, но ячейка с 0 остается прежней. Когда в ячейке 0, а в другой 6 после вычитания, должно быть -6, но этот код не выполняет вычитания, когда приходит 0. Как устранить эту проблему
function subtractSoldBulk() {
var sheet = SpreadsheetApp.getActiveSheet();
var maxRows = sheet.getMaxRows();
var soldRange = sheet.getRange(2, 3, maxRows); //
row, column, number of rows
var totalRange = sheet.getRange(2, 4, maxRows);
var soldValues = soldRange.getValues();
var totalValues = totalRange.getValues();
for (var row in soldValues) {
var soldCellData = soldValues[row][0];
var totalCellData = totalValues[row][0];
if (soldCellData != "" && totalCellData != "") {
totalValues[row][0] = totalCellData -
soldCellData;
soldValues[row][0] = "";
}
}
soldRange.setValues(soldValues);
totalRange.setValues(totalValues);
}
спасибо, Рубен, я понял



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


JavaScript - странный язык. Посмотрите, что оценивает приведенное ниже выражение, и все должно стать ясно:
Помните, что JS-движок попытается преобразовать оба операнда в один тип (в данном случае число). Числовое значение пустой строки равно «0», поэтому выражение оператора «if» будет иметь значение «false». Чтобы избежать этой ситуации, используйте строгое сравнение '! =='.
Возможный дубликат Подразумеваемое сравнение строк, 0 = '', но 1 = '1'