Volond Apps
221 subscribers
216 photos
28 videos
22 files
994 links
Программирование для души и от лени
Добро пожаловать! У нас есть отличное сообщество любителей Excel и VBA, Google Sheet и Google Apps Script, а также всех тех, кто готов работать с этим программным обеспечением. Присоединяйтесь к нам, чтобы задавать и от
Download Telegram
Forwarded from volond
/**
* Количество строк в активной книге
* @customfunction
*/
function rowsCount(){
return SpreadsheetApp
.getActiveSpreadsheet()
.getSheets()
.reduce((acc,sh)=>acc+=sh.getLastRow(),0)}
function test(){
console.log(rowsCount())
}
#snippet #GAS #JS
Forwarded from volond
var blankArr=(arr)=>arr.filter((row)=>row.filter((cell)=>!!cell.toString()).length)
var values=(sh)=>{
let name=sh.getName()
let dataRange=sh.getDataRange()
let values=sh.getDataRange().getValues()
let count =blankArr(values).length
let a1Not=dataRange.getA1Notation()
return [name,count,a1Not]
}
/**
* Информация о количестве непустых строк
* в листах активной книги
* @customfunction
*/
function rowsCountNoBlank(){
return SpreadsheetApp
.getActiveSpreadsheet()
.getSheets()
.map(values)
}
function test(){
console.log(rowsCountNoBlank())
}
Forwarded from GAS Library: EventEmitter (Максим Стоянов)
Библиотека для Google Apps Script.

EventEmitter - представляет собой объект реализующий работу с событиями.

URL файла-проекта:
https://script.google.com/home/projects/1YN3YNaA5JaiY7d_0R4Afxg1YwrU2EVi4y86QuqvkWs0o78eKvMWHL7FI/edit

ID библиотеки:
1YN3YNaA5JaiY7d_0R4Afxg1YwrU2EVi4y86QuqvkWs0o78eKvMWHL7FI
Volond Apps pinned «Библиотека для Google Apps Script. EventEmitter - представляет собой объект реализующий работу с событиями. URL файла-проекта: https://script.google.com/home/projects/1YN3YNaA5JaiY7d_0R4Afxg1YwrU2EVi4y86QuqvkWs0o78eKvMWHL7FI/edit ID библиотеки: 1YN3YNa…»
Шпаргалка по регулярным выражениям. В примерах
Источник:
Регулярные выражения (regex или regexp) очень эффективны для извлечения информации из текста. Для этого нужно произвести поиск одного или нескольких совпадений по определённому шаблону (т. е. определённой последовательности символов ASCII или unicode).
#regex #regexp
••••••••••
Обсудить:
Forwarded from DidacticСardsBot
Google анонсировала новый язык программирования

Источник:



На сайте поискового гиганта появился свежий пост, в котором компания рассказала о своём новом проекте. Он представляет из себя новый декларативный язык логического программирования, названный Logica.


Представители компании заявили, что в основном новинка предназначена для «манипулирования данными и транслирования программ в язык SQL».

Logica будет полезна разработчикам, которые хотят использовать логическое программирование для написания запросов к базе данных. Уже сейчас новый язык Google имеет поддержку Google BigQuery, PostgreSQL и SQLite.
••••••••••
Обсудить:
Volond Apps pinned «Create webhooks from Google sheets Webhooks мы уже получали (Телеграм бот Да⁉️), а как насчет что бы отправлять например при изменении в определенной строке Причем мы не будем использовать триггеры ...😃 🛠 Пользовательские функции запускаются всякий раз…»
Forwarded from volond
={"timestamp";"Дата";SEQUENCE(countA(B3:B);1;now();0)}
Оформил Пагинацию
через количество
источник
Forwarded from Google Таблицы
ПОЛЕЗНЫЕ СКРИПТЫ от @GOOGLE_SHEETS

Друзья, за последние полгода мы создали для вас ряд полезных в быту скриптов, давайте вспомним про главные:

=
ОТПРАВЛЯТОР (В ТЕЛЕГРАМ-ЧАТЫ) PDF/JPG 2.0
t.me/google_sheets/643
Вы заполняете в Таблице конфиг отправки и получаете скрипт, который по расписанию отправляет диапазоны из ваших Таблиц в формате PDF/JPG в телеграм-чаты.

=
ОТПРАВЛЯТОР (В ТЕЛЕГРАМ-ЧАТЫ) PNG
t.me/google_sheets/604
Первая версия отправлятора – скрипт конвертирует диапазоны в PNG и отправляет в телеграм-чаты.

=
ТЕЛЕГРАМ-БОТ
t.me/google_sheets/556
Разворачиваете всё по инструкции и получаете Телеграм бота, который записывает всё, что ему пишут в Таблицу, а файлы записывает на ваш Google Диск.

=
СОБИРАТОР (ТАБЛИЦ В ДРУГИЕ В ТАБЛИЦЫ) 4
t.me/google_sheets/661
Это Таблица с конфигом для сбора Таблиц через sheets api. Скажем, вы компания, у которой 20 Таблиц региональных представителей и вам нужно регулярно эти 20 Таблиц собирать в одну, что-то фильтруя и что-то добавляя.

=
🧞‍♂️ПРЕВРАЩАТОР ЛИСТА ТАБЛИЦЫ В XLSX / PDF / CSV
t.me/google_sheets/652
— файл мгновенно скачивается
— либо сохраняется на Google Диск

=
ВЫГРУЖАТОР
t.me/google_sheets/635
Создаём в Таблице реестр файлов из выбранной папки, вложенность - учитываем

=
ДОПУСКАТОР 2
t.me/google_sheets/580
Убираем из файлов всех пользователей кроме себя и закрываем доступ по ссылке.

==
ОТПРАВЛЯЕМ СМС ИЗ ТАБЛИЦЫ
t.me/google_sheets/666

=
ПАРСИМ WILDBERRIES ИЗ ТАБЛИЦЫ 2
t.me/google_sheets/686
– 1000 карточек товара за 9 секунд!

===
Друзья, все скрипты бесплатные, но если вы захотите поддержать нас – подписывайтесь на патреон или делайте прямой перевод. Спасибо 🤟
Get the latitude and longitude of any
address on Google Maps.
/**
* Get the latitude and longitude of any
* address on Google Maps.
*
* =GOOGLEMAPS_LATLONG("10 Hanover Square, NY")
*
* @param {String} address The address to lookup.
* @return {String} The latitude and longitude of the address.
* @customFunction
*/
const GOOGLEMAPS_LATLONG = (address) => {
const { results: [data = null] = [] } = Maps.newGeocoder().geocode(address);
if (data === null) {
throw new Error('Address not found!');
}
const { geometry: { location: { lat, lng } } = {} } = data;
return ${lat}, ${lng};
};

Вот тут эта и другие формулы с гугл картами
#maps
Удалим пустые строки -clearEmptyRows
тыц
Проверка содержит ли ячейка checkbox
#snippet #GAS
/**
* Проверка содержит ли ячейка checkbox
*
* @param {RANGE} cell
* @returns {Boolean}
*/
function isCheck(cell){
var rule = cell.getDataValidation();
if (rule != null&&rule.getCriteriaType()=='CHECKBOX') {
var criteria = rule.getCriteriaType();
var args = rule.getCriteriaValues();
return true
} else {
return false
}
}
Live stream finished (35 days)
GAS CacheService

EnhancedCacheService

1.Поддержка собственных типов JavaScript, таких как: число, логическое значение, объект.
2.Поддержка значений более 128 КБ
3.Дополнительная информация о записях кеша - получить дату последнего обновления записи
github
blog