Мне нравится копировать / вставлять в качестве значений все мои старые листы для экономии ресурсов, но я не хочу удалять формулы, поскольку полагаюсь на них для их воссоздания в будущем (некоторые из них довольно сложные). Я подумал, что хорошей альтернативой было бы скопировать каждую формулу в примечание к ее ячейке, прежде чем вставлять только значения, поэтому я подумал, что мог бы написать скрипт для этого, желательно по всей рабочей таблице. Признаюсь, я гуглю, когда я go здесь, но я на правильном пути? У меня есть правильные переменные, чтобы начать работать с l oop?
function CopyFormulaToNote() {
/* I dont' want to get just the active sheet but all of them
look into how to do that */
var ss=SpreadsheetApp.getActive().getActiveSheet();
var lr=ss.getLastRow();
var lc=ss.getLastColumn();
var range=ss.getRange(1,1,lr,lc);
/* Find the first formula in the entire spreadsheet
I doubt it will just find all formulas per se without specifying that a formula begins with =
although there is a getFormula function...
and if I do have to specify that I think what I have below says to look for = as the first character */
var search=range.createTextFinder().matchFormulaText("^[=]"); //search for formula ie first character =
var result=search.getCurrentMatch(); //I *think* this would get the 1st result
var cell=result.getCell(row, column); //get the cell range of the result
var note=cell.setNote(note); //create a cell note for that cell
/* and now create a loop to do it everywhere that includes */
result.CopyTo(note); //copy the result into the note
}