можно ли гугл таблицах записать макрос с использованием правка->найти и заменить
собственно выгружаю данные в гугл таблицу, дробные значения чисел выгружаются с разными разделителями дробной части ("," или ".")
хочу найти все значения с разделителем "." и заменить их на ","
для этого выделяю столбец, далее правка → найти и заменить 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() записывает новый массив на лист.