Выводим ссылки из гиперссылок
Пример:
Допустим имеем столбец с данными в которых текст со ссылками и наша задача перенести в другой столбец только ссылки
Для этого нам понадобится Google Sheets сама таблица с данными и инструмент Apps Script
В Apps Script создаём проект допустим с названием leaveOnlyLinks и вставим этот код:
myFunction() { const sheetName = "Лист1"; // Укажите название вашего листа.
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName); // Получаем активную таблицу и выбираем лист с указанным названием
const range = sheet.getRange("A2:A" + sheet.getLastRow()); // Получаем диапазон ячеек в первом столбце, начиная со второй строки и до последней заполненной строки
const urls = range.getRichTextValues().map(([a]) => // Получаем значения ячеек в формате RichText и применяем функцию map для обработки каждого значения
[a.getRuns().reduce((ar, r) => { // Получаем все ссылки внутри значения ячейки и объединяем их в одну строку, разделенную запятыми
const url = r.getLinkUrl();
if (url) {
ar.push(url);
}
return ar;
}, []).join(",") || null] // Если значение ячейки не содержит ссылок, то записываем null
);
const destinationRange = sheet.getRange("B2:B" + (1 + urls.length)); // Указываем куда выводить
destinationRange.setValues(urls); // Записываем значения
}
1 комментарий
https://playcode.io/1629548