Обучение, заказы, реклама: @namokonov
С 2017 года приручаем Google Таблицы и Google Apps Script, создаём ботов в Telegram и Max.
Реальные кейсы и автоматизация.
Оглавление: clck.ru/3UJwhf
РКН: clck.ru/3F3u9M
Post #742
9.28K

GO @google_sheets
Showing posts older than #743 · Back to latest

{}, {}, ... стала валидной – добавляем внешний массив, то есть добавим[ и ] к текстовой строке;`[${r}]`JSON.parse(`[${r}]`)map – цикл по вложенным объектам и внутри каждого объекта – еще один map – по ячейкам заголовков, мы проверяем, есть ли в текущем объекте текущий ключ, если есть – достаём значение, если нет – возвращаем прочерк;function JsonToTable(r, head) {
return JSON.parse(`[${r}]`)
.map(object => {
return head[0].map(h => object[h] ?? '-' )})
}
IMPORTXML (или IMPORTHTML), чтобы получить данные индекса в Таблицу.> извлекаем файлы из папки / папок, создаём реестр в Таблице> попадается изображение – добавляем функцию =IMAGE, которая покажет картинку в Таблице> задавать можно как одну папку, так и несколькоfunction setValues() {
//определили активный диапазон и активную рабочую книгу const [ss, active_range] =
[SpreadsheetApp.getActive(), SpreadsheetApp.getActiveRange()]; if (!/=/.test(active_range.getFormulas().flat().join(''))){
ss.toast(' формулы в активном диапазоне не обнаружены - ничего не вставляем!');
return;
} const values = active_range.getValues();
ss.toast('вставляем в активный диапазон значения!')
active_range.setValues(values);
}function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu("- > в этом меню у нас скрипты")
.addItem("меняем формулы на значения!", "setValues")
.addToUi();
}



onChange может сработать при обновлении функции IMPORTRANGE). function doGet(e) {
MailApp.sendEmail('mail.com', 'тема: привет!', e.parameter.row)
}function zapuskator(array) {
array = array.filter(t => t.some(g => g));
const length = array.map(t => t[0]).length;
const property = PropertiesService.getScriptProperties();
const rows_property = property.getProperty('rows');
if (rows_property < length) {
property.setProperty('rows', length);
const url = 'https://script.google' + '?row=' + array[length - 1].join();
return [
[new Date(), url, UrlFetchApp.fetch(url).getResponseCode()]
]
}
return length
}


UNIQUE теперь стало 3 аргумента, а не один?=UNIQUE(range; [by_column]; [exactly_once])
Первый аргумент - диапазон, тут все без изменений. Второй и третий – необязательные аргументы, так что старые функции работают как работали.UNIQUE выведет только уникальные столбцы, а не строки. UNIQUE с такой настройкой вообще их не выведет в итоге, даже по 1 разу!
