=СУММ(ArrayFormula({B2:B11*ЕСЛИОШИБКА(ВПР(A2:A11;{E2:E11\F2:F11};2;0))}))
=(ОСТАТ(ROW()+1;5)=3)
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Лист1");
let range = sheet.getRange("b2:b");
range.setValues(range.getValues());
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)
))