Как перевести результат функции в текст, сохранив гиперссылку?
Контекст. У меня в каталоге используется большая формула, которая при вставке названия предмета из каталога находит и выводит ссылку на него. После нахождения ссылки повторно искать/обновлять ссылку не нужно, а формулы сильно грузят файл, поэтому, я хотел заменить формулы на значения.
Проблема в том, что после вставки как текст ссылок ячейка теряет гиперссылку, на неё больше нельзя удобно нажать, чтобы перейти по ссылке. Можно нажать на ячейку и потом дважды нажать Enter и гиперссылка вновь будет создана, но для сотен строк это не оптимальное решение.
В связи с этим вопрос, как можно быстро заменить формулы на результат, сохранив гиперссылки?
Григорий Боев
@ProgrammerForever Куратор тега Google Sheets
Учитель, автоэлектрик, программист, музыкант
Можно так, например:
function createClickableUrls(sheetName="Лист1", rangeName="A:A"){
let urlsRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName).getRange(rangeName);
let urls = urlsRange.getValues();
let formulas = urls.map(row=>row.map(url=>url?`=HYPERLINK("${url}";"${url}")`:""));
urlsRange.setValues(formulas);
};