UrlFetchApp.fetch(url, params);
/**
* Функция для получения данных из кэша или из сети.
* @author Boew Grigory (Telegram @ProgrammerForever)
*
* @param {string} url - URL для запроса.
* @param {Object} params - Параметры для запроса.
*
* @return {sting} Возвращает текст ответа из кэша или из сети.
*/
function cachedFetch(url, params) {
let cache = CacheService.getScriptCache();
let key = `${url}-${JSON.stringify(params)}`;
let cachedResponse = cache.get(key);
if (cachedResponse){
return cachedResponse;
};
let response = UrlFetchApp.fetch(url, params);
cache.put(key, JSON.stringify(response.getContentText()));
return response;
}
function doProperFirst(sheetName="Лист1") {
let dataRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName).getDataRange();
let data = dataRange.getValues()
.map(row=>row.map(properFirst));
dataRange.setValues(data);
};
/**
Преобразует первую букву каждого слова в верхний регистр.
@param {string} str - Строка для преобразования.
@returns {string} - Преобразованная строка.
*/
function properFirst(str){
return String(str).split(" ").map(word=>word===""?"":word.charAt(1).toLocaleUpperCase()+word.substring(1)).join(" ");
};
=ЕЧЁТН(ЧСТРОК(unique(ДВССЫЛ("R1:R";0))))
=ArrayFormula(LET(
raw;$A:$A;
r;СТРОКА(ДВССЫЛ("RC";0));
c;СТОЛБЕЦ(ДВССЫЛ("RC";0));
countNotEquals;СУММ(ARRAY_CONSTRAIN(ЕСЛИ({{"";raw}<>{raw;""}};1;0);r;1));
ЕЧЁТН(countNotEquals)
))
=ArrayFormula(let(
symbols;LAMBDA(from;to;ArrayFormula(JOIN(;СИМВОЛ(SEQUENCE(abs(КОДСИМВ(to)-КОДСИМВ(from))+1;1;МИН(КОДСИМВ(from);КОДСИМВ(to)))))));
alphabetEn;symbols("a";"z")&symbols("A";"Z");
alphabetRu;symbols("а";"я")&symbols("А";"Я")&"ёЁ";
specString;"!""№;%:?*()_+@#$%^&*\|/.,-='{}[]<>`~";
numbers;"0123456789";
generate;lambda(fromText;count;join("";ПСТР(fromText;ОКРУГЛВВЕРХ(randarray(count)*ДЛСТР(fromText));1)));
letterEn;lambda(count;ЕСЛИ(count<=0;"";generate(alphabetEn;count)));
letterRu;lambda(count;ЕСЛИ(count<=0;"";generate(alphabetRu;count)));
spec; lambda(count;ЕСЛИ(count<=0;"";generate(specString;count)));
numeric; lambda(count;ЕСЛИ(count<=0;"";generate(numbers ;count)));
shuffle;lambda(txt;join("";array_constrain(SORT({ПСТР(txt;SEQUENCE(ДЛСТР(txt));1)\RANDARRAY(ДЛСТР(txt))};2;1);ДЛСТР(txt);1)));
passw;lambda(enCount;ruCount;specCount;numsCount;
shuffle( letterEn(enCount) & letterRu(ruCount) & spec(specCount) & numeric(numsCount) )
);
passw(2;2;2;2)
))
Sub Replace_Dates()
Dim i As Long
Dim v As String
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
v = Cells(i, 1).Value
v = Replace(v, " января", ".1.")
v = Replace(v, " февраля", ".2.")
v = Replace(v, " марта ", ".3.")
v = Replace(v, " апреля ", ".4.")
v = Replace(v, " мая ", ".5.")
v = Replace(v, " июня ", ".6.")
v = Replace(v, " июля ", ".7.")
v = Replace(v, " августа ", ".8.")
v = Replace(v, " сентября ", ".9.")
v = Replace(v, " октября ", ".10.")
v = Replace(v, " ноября ", ".11.")
v = Replace(v, " декабря ", ".12.")
v = Replace(v, " года", "")
Cells(i, 1).Value = CDate(v)
Next i
End Sub