let rightRange = SpreadsheetApp.getActiveRange().getCell(1, 2); // Соседний справа столбец
let bottomRange = SpreadsheetApp.getActiveRange().getCell(2, 1); // Строка ниже
=INDIRECT("RC[1]";0)
=INDIRECT("R[-1]C";0)
=INDIRECT("RC4";0)
=INDIRECT("R3C4";0)
=еслиошибка(
importrange("ссылка";прописн(диапазон))
;importrange("ссылка";строчн(диапазон))
)
/**
* Возвращает массив данных импортированных с таблицы url, с листа sheetName со столбцов columsn
*
* @param {String} url Ссылка на таблицу
* @param {String} sheetName Имя листа
* @param {Array[Number]} columsn Массив номеров столбцов. A = 1
* @return Возвращает массив импортированных данных
*/
function importColumns(url, sheetName, columsn) {
columsn = [...columsn].flat(Infinity).map(column=>-1+column);
let sourceSpreadsheet = SpreadsheetApp.openByUrl(url);
let sourceSheet = sourceSpreadsheet.getSheetByName(sheetName);
let data = sourceSheet.getDataRange().getValues();
outData = data.map(row=>{
return columsn.map(column=>row[column]);
});
return outData;
}
SpreadsheetApp.getUi().alert("h,w!");
const API_URL = "https://api-seller.ozon.ru";
const endpoint = "/v1/product/list";
let options = {
method: "POST",
headers: {
'Client-Id': 'XXX',
'Api-Key': 'XXX',
'accept': 'application/json'
},
payload:{
"filter": {
"offer_id": [
"string" // задайте значение или список
],
"product_id": [
0 // задайте значение или список
],
"visibility": "ALL" /* "ALL" "VISIBLE" "INVISIBLE" "EMPTY_STOCK" "NOT_MODERATED" "MODERATED" "DISABLED" "STATE_FAILED" "READY_TO_SUPPLY" "EMPTY_NAVIGATION_CATEGORY" "VALIDATION_STATE_PENDING" "VALIDATION_STATE_FAIL" "VALIDATION_STATE_SUCCESS" "TO_SUPPLY" "IN_SALE" "REMOVED_FROM_SALE" "ARCHIVED" */
},
"page": 0, // Номер страницы, возвращаемой в запросе.
"page_size": 0 // Количество элементов на странице.
}
};
let response = UrlFetchApp.fetch(API_URL + endpoint, options);
let data = JSON.parse(response);
Logger.log(data);
function COUNTUNIQWORDS(range) {
let wordsCount = {};
range.forEach(row=>{
row.forEach(cell=>{
let text = String(cell)
.toLowerCase()
.replace(/[^а-яА-ЯёЁa-zA-Z ]+/gi, ' ')
.replace(/\s+/gi, ' ');
let words = text
.split(' ')
.filter(word=>word!=='');
words.forEach(word=>{
if (wordsCount[word]){
wordsCount[word]+=1;
}else{
wordsCount[word]=1;
};
});
});
});
let result = Object.keys(wordsCount)
.sort()
.map(word=>[word, wordsCount[word]]);
return result;
};
const logger = {
log:(val)=>{
SpreadsheetApp.openById(``) // тут ID таблицы
.getSheetByName(`log`) // тут имя листа куда сыпятся логи
.appendRow([new Date(), `${val}`]);
}
};
// Использовать так же, только с маленькой буквы
logger.log(`что-то важное`);