Как заменить тире на ноль в диапазоне ячеек?
Недавно надо было воспользоваться Гугл таблицами. И выяснилось что моя проблема стара как мир — в определенном диапазоне ячеек необходимо заменить тире на ноль, иначе формулы перестают считать и выдают ошибку. Ячейки известны, весь лист обходить не надо. Нужно просто заменить тире на ноль в этих ячейках, но автоматически это не записывается. А каждый раз вручную ну такое себе удовольствие... В синтаксисе макросов в таблицах пока не силен. Может быть кто-то может поделиться кодом, как реализовать замену символов не на весь лист, а только на диапазон? Спасибо…
Ответы (1 шт):
Заменяет -
в выбранных диапазонах на 0
function hyphen2zero(){
SpreadsheetApp.getSelection().getActiveRangeList().getRanges().forEach(range=>range.createTextFinder('-').replaceAllWith(0))
}
Если поиск и замену производить на всем листе, а не в выбранных диапазонах, то код внутри функции можно сократить до
SpreadsheetApp.getActive().createTextFinder('-').replaceAllWith(0)
Первые 2 варианта меняют дефис на 0, даже если дефис находится внутри другого текста. Вариант ниже меняет только "одинокие" дефисы, кроме которых в ячейке другого текста нет.
function hyphen2zero(){
SpreadsheetApp.getSelection().getActiveRangeList().getRanges().forEach(range=>
range.setValues(range.getValues().map(row=>row.map(v=> v==='-'?0:v)))
)
}