let elem = document.getElementsByName('body')[0]; // ищем по имени или любым другим способом
if (elem){
elem.oninput = ()=>{
const wordsCount = 5; // количество "слов"
const delimiter = ","; // разделитель "слов"
const attributeName = "oldValue"; // атрибут для хранения старого значения
if (elem.value.split(delimiter).length<=(wordsCount-1)){
console.log("save good value");
elem.setAttribute(attributeName, elem.value);
}else{
console.log("wrong input");
let oldValue = elem.getAttribute(attributeName);
if (oldValue!==undefined){
console.log("return old value");
elem.value = oldValue;
}else{
console.log("return default value");
elem.value = "";
elem.setAttribute(attributeName, elem.value);
};
};
};
};
без уменьшения количества формул
мне нужны только csv-шки
="— Группа_"&ОКРУГЛВНИЗ((СТРОКА()+2)/3)
=A2+1
=A5
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);
};
//Имя столбца по его номеру
function col2A1(col){
let result = "";
let base = 27;
while(col>0){
let newLetter = String.fromCharCode("A".charCodeAt(0)+(col-1)%(base-1));
result=newLetter + result;
col = (col - col%base) / base;
};
return result;
};
// или короткая версия
function col2A1_(r){let o="";for(;0<r;){var t=String.fromCharCode("A".charCodeAt(0)+(r-1)%26);o=t+o,r=(r-r%27)/27}return o}