Скопируйте столбцы, умножьте и вставьте в другой лист - PullRequest
1 голос
/ 25 октября 2019

У меня есть электронная таблица Google, с которой кто-то делится, и прайс-лист. Я хочу скопировать названия продуктов и столбцы цен, хочу умножить столбец цен для разметки и вставить оба столбца в другую мою электронную таблицу.

Я абсолютно новичок и попробовал все, что мог. Не было проблем с копированием столбцов, даже мне удалось умножить цены, но я не мог понять, как вставить свои новые значения в соответствующий лист.

function createNewList(){

var sharedList = SpreadsheetApp.openById('1_XWPVgBQwqV3B1C2NVspyR7Hw2ff3fzp-N23idbXVMA')
var ss = sharedList.getSheetByName("STOCK");
var data = ss.getRange(1, 1, ss.getLastRow(), ss.getLastColumn() ).getValues();  

var products = ss.getRange(1, 1, ss.getLastRow(), 1).getValues();
var totalFiles = products.length;
var prices = ss.getRange(1, 2, ss.getLastRow(), 1).getValues();

var newWb = SpreadsheetApp.openById('other_url');
var newSs = newWb.getSheetByName('New List');
var markupSs = newWb.getSheetByName('markup'); 
var markup = markupSs.getRange('B1').getValue();

//  correct some format issues
  replaceInSheet(prices, 'U$ ', '');
  replaceInSheet(prices, '$','');

var newPrices = [];
for (var i=0; i<totalFiles; i++){
    newPrices.push(prices[i] * markup) ;
}

newSs.getRange(1, 1, totalFiles, 1).setValues(products);
newSs.getRange(1, 2, totalFiles, 1).setValues(newPrices);

}


function replaceInSheet(values, to_replace, replace_with) {
   for(var row in values){
    var replaced_values = values[row].map(function(original_value) {
      return 
    original_value.toString().replace(to_replace,replace_with);
    });
   values[row] = replaced_values;
  }
}

Это дает мне ошибку: Нет конвертера массива en номер [] []. (не могу преобразовать массив в число)

Любая помощь будет высоко ценится!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...