Forwarded from St M
Для быстрого доступа к видосам , выкладываю ссылки на все плейлисты по всем сервисам на которые есть видео:
Google Sheets (Таблицы Гугл) Lessons: https://www.youtube.com/playlist?list=PLlHR3f8sb05BNZ_mWF0Qt2oqnHKwOSJRf
Фишки, Трюки и Лайфхаки Гугл Таблиц: https://www.youtube.com/playlist?list=PLlHR3f8sb05Cz8TH3s_wRAZkjVqGttZS4
Google Apps Script, Скрипты в Гугл таблицах: https://www.youtube.com/playlist?list=PLlHR3f8sb05B9n0jnXgS3yxn2CTQ3XOGS
Уроки по Гугл Формам
https://www.youtube.com/watch?v=OGHl45NwzhI&list=PLlHR3f8sb05DqlFCMfek-Nbje-9lJaDfY
Новости Google Таблиц.: https://www.youtube.com/playlist?list=PLlHR3f8sb05CDpAMfg6l5liYSUP35HOu2
Google Docs, Гугл Докс, Гугл документы - уроки!: https://www.youtube.com/playlist?list=PLlHR3f8sb05DV0FdQl1IC5zx14Ub52YF0
Google Sheets (Таблицы Гугл) Lessons: https://www.youtube.com/playlist?list=PLlHR3f8sb05BNZ_mWF0Qt2oqnHKwOSJRf
Фишки, Трюки и Лайфхаки Гугл Таблиц: https://www.youtube.com/playlist?list=PLlHR3f8sb05Cz8TH3s_wRAZkjVqGttZS4
Google Apps Script, Скрипты в Гугл таблицах: https://www.youtube.com/playlist?list=PLlHR3f8sb05B9n0jnXgS3yxn2CTQ3XOGS
Уроки по Гугл Формам
https://www.youtube.com/watch?v=OGHl45NwzhI&list=PLlHR3f8sb05DqlFCMfek-Nbje-9lJaDfY
Новости Google Таблиц.: https://www.youtube.com/playlist?list=PLlHR3f8sb05CDpAMfg6l5liYSUP35HOu2
Google Docs, Гугл Докс, Гугл документы - уроки!: https://www.youtube.com/playlist?list=PLlHR3f8sb05DV0FdQl1IC5zx14Ub52YF0
Получение периода в Зависимости от дня формирования
Мне иногда необходимо получить период отчета в зависимости от дня
когда я его формирую
То есть если допустим сегодня 1 число а день отчета 7 дней
то получу период Прошлый месяц
а если сегодня 10 то период будет с начала текущего месяца по сегодня
далее...
Мне иногда необходимо получить период отчета в зависимости от дня
когда я его формирую
То есть если допустим сегодня 1 число а день отчета 7 дней
то получу период Прошлый месяц
а если сегодня 10 то период будет с начала текущего месяца по сегодня
далее...
getLastDayOfMonth.png
108.4 KB
Последний день месяца
/**
* Последний день месяца
*
* @param {Number} year
* @param {Number} month
* @returns {Date}
*/
function getLastDayOfMonth(year, month) {
//0-11 Номера месяцев
let date = new Date(year, month + 1, 0);
return date.getDate();
}
formatToday.png
182.9 KB
Форматирование даты
/**
* Форматирование даты
* 31-10-20 при delim="-" и format="dd,mm,yy"
* @param {Date} today
* @param {string} [delim="."]
* @param {string} [format="dd,mm,yyyy"]
* @returns {string}
*/
function formatToday(today,delim=".",format="dd,mm,yyyy") {
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
var yy=[...yyyy.toString()].splice(2).join("")
if (dd < 10) { dd = '0' + dd }
if (mm < 10) { mm = '0' + mm }
eval(`var arr=[${format}]`)
today = arr.join(delim)// dd + '.' + mm + '.' + yyyy;
return today
}Получаем динамические области экрана
var getRangesByPattern=()=>{
// Исходные данные
var ss=SpreadsheetApp.getActiveSpreadsheet()
var sheet=ss.getSheetByName('Щоденник')
var dataRange=sheet.getDataRange()
var findArr=dataRange.getValues()
var findCol=1
var Cols=10
// Патерны и функция поиска
var startPr=q=>/Дата приймання/i.exec(q[findCol])
var endPr=q=>/Всього.*/i.exec(q[findCol])
var find=(a,pred)=>a.findIndex(pred)
//Получаем диапазоны с листа
var headerOrderN=find(findArr,startPr)
var headerOrder=sheet.getRange(1, 2,headerOrderN,Cols)
var headerMain=sheet.getRange(headerOrderN+1, 2,1,Cols)
var mainN=find(findArr,endPr)
var main=sheet.getRange(headerOrderN+2, 2,mainN-headerOrderN-1,Cols)
var footer=sheet.getRange(mainN, 2,dataRange.getLastRow()-mainN-1,Cols)
console.log(main.getA1Notation())
return {headerOrder,headerMain,main,footer}
}
Volond Apps
Получаем динамические области экрана var getRangesByPattern=()=>{ // Исходные данные var ss=SpreadsheetApp.getActiveSpreadsheet() var sheet=ss.getSheetByName('Щоденник') var dataRange=sheet.getDataRange() var findArr=dataRange.getValues() var findCol=1 var…
image_2020-11-03_15-19-42.png
41.8 KB
"Псевдоразделение" в Ячейке Google Sheet+Стрелки
="↙️ f"&char(10)&Rept("-";10)&char(10)&"b ↘️"
#formulaУдалили лист и слетели все формулы...HELP ME‼️
не беда: ФОРМУЛЫ можно восстановить ... 🚑
не беда: ФОРМУЛЫ можно восстановить ... 🚑
function myFunction() {
var nameDelSheet = "Меня удалили"
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
var range = sheets.filter(sh => sh.getName() != nameDelSheet).map(sh => {
var range = sh.getDataRange()
range.setFormulas(range.getFormulas())
}Telegraph
Удалили лист и слетели все формулы...HELP ME‼️
Решение
Запускаем функцию "фоново"
Оригинал: Bruce Axtens
В последнее время я пробиваю 6-минутную стену таймаута в Apps Script.
Моя проблема заключается в том, чтобы поместить имена функций, которые я хочу запускать в фоновом режиме, в свойство скрипта, а затем извлекать их каждый раз при срабатывании таймера. Это, конечно, ограничено одной функцией в минуту. Во 2 части я покажу, как увеличить это значение до 4 в минуту, и, возможно, на любую долю минуты (с помощью устанавливаемых триггеров .)
Кроме того, это должны быть функции, которые не требуют каких-либо параметров и могут работать в фоновом режиме.
Читать полностью...
Оригинал: Bruce Axtens
В последнее время я пробиваю 6-минутную стену таймаута в Apps Script.
Моя проблема заключается в том, чтобы поместить имена функций, которые я хочу запускать в фоновом режиме, в свойство скрипта, а затем извлекать их каждый раз при срабатывании таймера. Это, конечно, ограничено одной функцией в минуту. Во 2 части я покажу, как увеличить это значение до 4 в минуту, и, возможно, на любую долю минуты (с помощью устанавливаемых триггеров .)
Кроме того, это должны быть функции, которые не требуют каких-либо параметров и могут работать в фоновом режиме.
Читать полностью...
This media is not supported in your browser
VIEW IN TELEGRAM
Подсветка значений которые округлены с помощью пользовательского формата
Иногда нужно понять какие числа были округлены
ссылка на таблицу с кодом
ссылка на исходный код
Иногда нужно понять какие числа были округлены
ссылка на таблицу с кодом
ссылка на исходный код
runSelectionAll.png
215.3 KB
**
* Пакетное выполнение функции в выделенном диапазоне
* Функция принимает ячейку как RANGE
*
* @param {Function} fn Функция которая будет исполняться над каждой ячейкой диапазона
*/
* Пакетное выполнение функции в выделенном диапазоне
* Функция принимает ячейку как RANGE
*
var fn=(cell)=>console.log(cell.getA1Notation())
* runSelectionAll(fn)* @param {Function} fn Функция которая будет исполняться над каждой ячейкой диапазона
*/
function runSelectionAll(fn){
const ss = SpreadsheetApp.getActiveSpreadsheet()
const sheet = ss.getActiveSheet()
var selection = sheet.getSelection();
var ranges = selection.getActiveRangeList().getRanges();
ranges.forEach(range=>{
var res=expandA1Notation([range.getA1Notation()])
var rangeList=sheet.getRangeList(res[0]).getRanges()
rangeList.forEach(fn)
})
}Захотелось получать ссылку на регион как в Excel
Задаем ссылку вида:
[root\Имя Папки\Имя таблицы]'Имя листа'!А1
Вот что получилось:
Задаем ссылку вида:
[root\Имя Папки\Имя таблицы]'Имя листа'!А1
Вот что получилось:
Telegraph
Захотелось получать ссылку на регион как в Excel
Задаем ссылку вида:
Пишем хеш-таблицу на джаваскрипт
Что такое Хеш таблица?
Это структура данных, которая по ключу хранит какое-либо значение.
читать
Что такое Хеш таблица?
Это структура данных, которая по ключу хранит какое-либо значение.
читать
Telegraph
Пишем хеш-таблицу на джаваскрипт
Источник: Определение Что такое Хеш таблица? Это структура данных, которая по ключу хранит какое-либо значение. Внимательный зритель может спросить в чем же отличие от Ассоциативного массива. Основное отличие в том, что это Хеш-таблица — это неупорядоченный…
Этот восхитительный Юникод
Оригинал:
Юникод — это потрясающе! До его появления международная коммуникация была изнурительной: каждый определял свой отдельный расширенный набор символов в верхней половине ASCII (так называемые кодовые страницы). Это порождало конфликты. Просто подумайте, что немцам приходилось договариваться с корейцами, где чья кодовая страница. К счастью, появился Юникод и ввёл общий стандарт. Юникод 8.0 охватывает более 120 000 символов из более 129 письменностей. И современные, и древние, и до сих пор не расшифрованные. Юникод поддерживает текст слева направо и справа налево, наложение символов и включает самые разные культурные, политические, религиозные символы и эмодзи. Юникод потрясающе человечен, а его возможности сильно недооцениваются.
читать далее
Оригинал:
Юникод — это потрясающе! До его появления международная коммуникация была изнурительной: каждый определял свой отдельный расширенный набор символов в верхней половине ASCII (так называемые кодовые страницы). Это порождало конфликты. Просто подумайте, что немцам приходилось договариваться с корейцами, где чья кодовая страница. К счастью, появился Юникод и ввёл общий стандарт. Юникод 8.0 охватывает более 120 000 символов из более 129 письменностей. И современные, и древние, и до сих пор не расшифрованные. Юникод поддерживает текст слева направо и справа налево, наложение символов и включает самые разные культурные, политические, религиозные символы и эмодзи. Юникод потрясающе человечен, а его возможности сильно недооцениваются.
читать далее
This program uses the library Telegram API Bot Library Version 2 on Google Apps Script
Translite Code Comments by Telegram beta (ПЕРЕВОД КОММЕНТАРИЕВ В КОДЕ)
(код)
When you receive a message with a code, if you reply to it, the bot will try to translate one-line comments in the code into the language of your choice, also, since it uses this library, it will try to translate some text messages into code
Данная программа использует библиотеку Telegram API Bot Library Version 2 на Google Apps Script
При получении сообщения с кодом, если вы на него ответите, бот попробует перевести однострочные комментарии в коде на выбранные вам вами язык, также так как он использует данную библиотеку ,он попробует перевести некоторые текстовые сообщения в коде
Translite Code Comments by Telegram beta (ПЕРЕВОД КОММЕНТАРИЕВ В КОДЕ)
(код)
When you receive a message with a code, if you reply to it, the bot will try to translate one-line comments in the code into the language of your choice, also, since it uses this library, it will try to translate some text messages into code
Данная программа использует библиотеку Telegram API Bot Library Version 2 на Google Apps Script
При получении сообщения с кодом, если вы на него ответите, бот попробует перевести однострочные комментарии в коде на выбранные вам вами язык, также так как он использует данную библиотеку ,он попробует перевести некоторые текстовые сообщения в коде
Telegraph
Translite Code Comments by Telegram beta (ПЕРЕВОД КОММЕНТАРИЕВ В КОДЕ)
This program uses the library Telegram API Bot Library Version 2 on Google Apps Script
Forwarded from Артем //api.net.ua
Отвечу сам на свой вопрос, нашел ссылку HTTPS по которой можно открыть Вайбер сразу по номеру телефона, Ссылкой можно пользоваться на постоянной основе, Вот демо таблица
https://docs.google.com/spreadsheets/d/1uJ9fJXX72_kCyFXOhpR2t92TcGLm__7i0Yb_08U7xaw/edit?usp=sharing
https://docs.google.com/spreadsheets/d/1uJ9fJXX72_kCyFXOhpR2t92TcGLm__7i0Yb_08U7xaw/edit?usp=sharing
Написал что бы люди могли выделить формулы на листе
Аналог
https://pastebin.com/RmrRYKWW
таблица с скриптом
Аналог
https://pastebin.com/RmrRYKWW
таблица с скриптом