можно ли гугл таблицах записать макрос с использованием правка->найти и заменить

собственно выгружаю данные в гугл таблицу, дробные значения чисел выгружаются с разными разделителями дробной части ("," или ".")

хочу найти все значения с разделителем "." и заменить их на ","

для этого выделяю столбец, далее правка → найти и заменить https://yadi.sk/i/5gODIB-DKU6c7w

решил записать макрос, но тАкое действие просто не записывается.. это вообще возможно? если в макрос такое не записать, то как быть?


Ответы (1 шт):

Автор решения: Boris Baublys

Используйте этот код:

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getSheetByName("Sheet1");
  var data = sheet.getDataRange().getValues();

  var new_data = data.map(row =>
    row.map(cell =>
        cell.toString().replace(/\./g, ',')
    )
);
  Logger.log(new_data);
  sheet.getRange(1, 1, new_data.length, new_data[0].length).setValues(new_data);
}
  • getDataRange() возвращает диапазон с данными.
  • getValues() возвращает значения из этого диапазона.
  • map() создаёт новый массив с результатом вызова указанной функции для каждого элемента массива. Здесь 2 вложенных map(): первый перебирает строки, а второй - элементы в строке.
  • replace() заменяет точку на запятую.
  • setValues() записывает новый массив на лист.
→ Ссылка