=(ОСТАТ(ROW()+1;5)=3)
есть ли различие между звуковой картой и звуковым чипом
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Лист1");
let range = sheet.getRange("b2:b");
range.setValues(range.getValues());
function transleteArray(obj) {
return Object.values(obj);
}
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)
))