Как макросом убрать тире между цифр в Google Sheets?

Имеется столбце с телефонными номерами. Хотелось бы, что бы после ввода телефонного номера с тире, эти тире автоматически удалялись. Возможно ли такое сделать макросом? Работаю в Google Sheets.


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

Автор решения: Алексей Р

На основе примера № 8 из Примеры, Google Apps Script. Далее скрипт надо встроить - см. скриншоты ниже.

Примечание. Для отладки можно использовать эти подходы.

function onEdit(e) {
  if (e === undefined) return false; // если аргумент не определен, выходим
  
  const shName = 'Телефоны'; // имя контролируемого листа 
  const colNumber = 2; // номер колонки, где контролировать изменения
  const dateOffset = 12; // смещение, куда ставить дату

  var range = e.range;

  if (range.getSheet().getName() != shName | range.getColumn() != colNumber) return false;
 
  for (var i = 1; i <= range.getNumRows(); i++) { // перебираем все строки, где произошли изменения, в нужном столбце
    var cell = range.getCell(i,1);
    cell.setValue(cell.getValue().toString().replace(/[-\s]/g,"")); // удаляет все пробелы и тире 
    cell.offset(0,dateOffset).setValue(new Date()); // ставим дату
  }
}

введите сюда описание изображения

введите сюда описание изображения

введите сюда описание изображения

введите сюда описание изображения

→ Ссылка