=(ОСТАТ(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)
))