Продолжаем тему небольших скриптов, в которых могут разобраться все.
У вас есть Таблица и в ней очень много строк, настолько много, чтобы однажды вы просто не можете в нее зайти - видите ошибку при ее открытии.
В таком случае можно создать внешний скрипт (не привязанный к этой таблице) и удалить в проблемной Таблице и листе строки или даже лист целиком.
1) идем в наши скрипты: https://script.google.com/home (кстати, там вы можете увидеть все скрипты вашего аккаунта)
2) создаем новый скрипт:
3) всё, проблемная область удалена, ваша таблица снова доступна и вы можете в ней работать
4) а еще в нашем чате уже больше 1000 человек, присоединяйтесь и вы
У вас есть Таблица и в ней очень много строк, настолько много, чтобы однажды вы просто не можете в нее зайти - видите ошибку при ее открытии.
В таком случае можно создать внешний скрипт (не привязанный к этой таблице) и удалить в проблемной Таблице и листе строки или даже лист целиком.
1) идем в наши скрипты: https://script.google.com/home (кстати, там вы можете увидеть все скрипты вашего аккаунта)
2) создаем новый скрипт:
function clear(){
//определяем таблицу и лист в ней
var ss = SpreadsheetApp.openByUrl('url');
var sheet = ss.getSheetByName('имя листа');
//удаляем строки после 100
var rows = sheet.getMaxRows();
if(rows-100>0){sheet.deleteRows(100, rows)}
//или удаляем лист целиком
ss.deleteSheet(sheet);
}3) всё, проблемная область удалена, ваша таблица снова доступна и вы можете в ней работать
4) а еще в нашем чате уже больше 1000 человек, присоединяйтесь и вы
👍6
IF внутри условия FILTER, отбираем ВСЕ значения или конкретное
Друзья, мы нашли полезный хинт в функции FILTER: если в условии написать
Можно использовать для выпадающих списков в интерактивных дашбордах, которые вы строите с помощью FILTER.
P. S. А вот так в FILTER можно написать ИЛИ:
Друзья, мы нашли полезный хинт в функции FILTER: если в условии написать
диапазон условия = диапазон условия, то функция выведет все строки из диапазона вывода.Можно использовать для выпадающих списков в интерактивных дашбордах, которые вы строите с помощью FILTER.
=FILTER(A2:B25;A2:A25=IF(E1="ВСЁ";A2:A25;E1))
P. S. А вот так в FILTER можно написать ИЛИ:
=FILTER(A2:B25;(A2:A25<>"Майер")+(B2:B25<500000))👍2
Ищу работу аналитиком / продактом в Москве.
Последнее место работы — Яндекс.Такси 🚕, аналитик по ценообразованию: репрайсил тарифы в городах МО, определял города в балансе и придумывал процедуры для них, а еще сделал тысячу разных калькуляторов.
— Перед этим работал аналитиком в компаниях Marriott, Lotte, Автомир
— Совместно с Ренатом уже три года ведем этот канал про Google Таблицы и написали про них книгу: https://www.mann-ivanov-ferber.ru/books/google-tabliczyi-eto-prosto/
— Частенько бываю продакт оунером, мы разрабатываем для внешних заказчиков софт на C++/Python/GAS и строим ERP и CRM-системы в Таблицах (отзыв нашего клиента Григория)
Пишите, пообщаемся: @namokonov
Последнее место работы — Яндекс.Такси 🚕, аналитик по ценообразованию: репрайсил тарифы в городах МО, определял города в балансе и придумывал процедуры для них, а еще сделал тысячу разных калькуляторов.
— Перед этим работал аналитиком в компаниях Marriott, Lotte, Автомир
— Совместно с Ренатом уже три года ведем этот канал про Google Таблицы и написали про них книгу: https://www.mann-ivanov-ferber.ru/books/google-tabliczyi-eto-prosto/
— Частенько бываю продакт оунером, мы разрабатываем для внешних заказчиков софт на C++/Python/GAS и строим ERP и CRM-системы в Таблицах (отзыв нашего клиента Григория)
Пишите, пообщаемся: @namokonov
👍1
CASE внутри функции QUERY
Коллеги, внутри QUERY на данный момент нельзя использовать доступную в большинстве SQL-диалектов функцию CASE.
Но — вы можете с помощью IF и массива создать виртуальный столбец, присоединить его к своим данным и уже эту конструкцию сделать диапазоном QUERY. И, например, группировать по новому столбцу.
1) Определяем, начинаются имена на «B» или нет (скриншот наверху):
Коллеги, внутри QUERY на данный момент нельзя использовать доступную в большинстве SQL-диалектов функцию CASE.
Но — вы можете с помощью IF и массива создать виртуальный столбец, присоединить его к своим данным и уже эту конструкцию сделать диапазоном QUERY. И, например, группировать по новому столбцу.
1) Определяем, начинаются имена на «B» или нет (скриншот наверху):
=ARRAYFORMULA(IF(A:A<>"";IF(LEFT(A:A;1)="В";"Имена на В";"Другие имена");""))👍1
2. Добавляем диапазон данных в QUERY и группируем по новому столбцу, считаем сумму столбца B
Некоторые поинты:
1. ARRAYFORMULA (функция массива) нужна, чтобы обработать в IF больше одной ячейки внутри одной формулы
2. AND в функции массива не работает (можете проверить) и приходится использовать вложенный IF (см. формулу в пункте 1)
3. Чтобы обращаться внутри QUERY к колонкам как Col1, Col2 - достаточно формулой изменить диапазон или просто взять его в фигурные скобки {}
=QUERY({ARRAYFORMULA(IF(A:A<>"";IF(LEFT(A:A;1)="В";"Имена на В";"Другие имена");""))\A1:B};
"Select Col1, sum(Col3) group by Col1")Некоторые поинты:
1. ARRAYFORMULA (функция массива) нужна, чтобы обработать в IF больше одной ячейки внутри одной формулы
2. AND в функции массива не работает (можете проверить) и приходится использовать вложенный IF (см. формулу в пункте 1)
3. Чтобы обращаться внутри QUERY к колонкам как Col1, Col2 - достаточно формулой изменить диапазон или просто взять его в фигурные скобки {}
👍3
Друзья, ниже мы отобрали для вас избранные посты нашего канала:
Функции:
— Учимся извлекать из текста нужное. База знаний регулярных выражений для REGEXEXTRACT →→
— Памятка по синтаксису QUERY / FILTER / SUMIFS →→
— Функция FILTER. Список условий выбираем диапазоном прямо с листа →→
— Обоюдоострый FILTER. Убираем с помощью одной формулой из таблицы пустые строки и столбцы →→
— SUMIF для нескольких условий в формуле массива →→
— Формулой достаем изображения из поисковой выдачи Яндекса →→
— ЛЕВЫЙ ВПР (когда искомое значение не в первом столбце) →→
— ВПР в массиве вместо тысячи CУММЕСЛИМН (заполняем весь лист одной формулой) →→
— Автоматически создаем фразы по определенным шаблонам в Google Таблицах →→
— Пользовательские числовые форматы, добавляем к числам 🔥🔥🔥 →→
Скрипты:
— Скрипт. Распознаем текст на изображениях. OCR в Google Docs →→
— Простой скрипт копирования / фильтрации (поможет, когда IMPORTRANGE перестает работать) →→
— Скрипт onEdit(), реагирующий на изменения и отправляющий письма (или триггер в триггере) →→
— Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу →→
— Скрипт, отправляем письма на электропочты из диапазона, который вы выделяете →→
— Простой скрипт для ежедневной рассылки из Google Таблицы →→
— Важный скрипт. Связанные выпадающие списки из кэша →→
Проекты:
— Telegram bot + Google Sheets (используя вебхуки) →→
— Эмоджи форматирование выполнения плана (IMAGE, IFS) →→
— Создаем красивое расписание групповых занятий →→
— Создание оглавления в телеграм-канале: как автоматически загружать и сортировать публикации из вашего рабочего файла →→
— Google Форма + Google Таблица для проведения тестирования →→
— Применение IFTTT для отправки сообщений с данными из Таблиц →→
— Googlefinance, Парето и графики (#готовое решение) →→
— Создаем инфографику с помощью IMAGE. Размер картинок пропорционален значениям →→
— Импортируем таблицу из веб-страницы и оставляем только нужные нам столбцы (IMPORTHTML+QUERY) →→
Для новичков:
— Мы на Хабре: "Функции Таблиц, которых нет в Excel": https://habrahabr.ru/post/331360/
— Советы по оптимизации Таблиц →→
— Видеоурок по функции IMPORTRANGE (для связывания нескольких таблиц) →→
— Видеоурок по фильтрам и режиму фильтрации →→
— Про виды доступа к документам →→
— Совместная работа с фильтрами →→
Полное оглавление нашего канала: тыц
Наш чат: @google_spreadsheets_chat
Функции:
— Учимся извлекать из текста нужное. База знаний регулярных выражений для REGEXEXTRACT →→
— Памятка по синтаксису QUERY / FILTER / SUMIFS →→
— Функция FILTER. Список условий выбираем диапазоном прямо с листа →→
— Обоюдоострый FILTER. Убираем с помощью одной формулой из таблицы пустые строки и столбцы →→
— SUMIF для нескольких условий в формуле массива →→
— Формулой достаем изображения из поисковой выдачи Яндекса →→
— ЛЕВЫЙ ВПР (когда искомое значение не в первом столбце) →→
— ВПР в массиве вместо тысячи CУММЕСЛИМН (заполняем весь лист одной формулой) →→
— Автоматически создаем фразы по определенным шаблонам в Google Таблицах →→
— Пользовательские числовые форматы, добавляем к числам 🔥🔥🔥 →→
Скрипты:
— Скрипт. Распознаем текст на изображениях. OCR в Google Docs →→
— Простой скрипт копирования / фильтрации (поможет, когда IMPORTRANGE перестает работать) →→
— Скрипт onEdit(), реагирующий на изменения и отправляющий письма (или триггер в триггере) →→
— Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу →→
— Скрипт, отправляем письма на электропочты из диапазона, который вы выделяете →→
— Простой скрипт для ежедневной рассылки из Google Таблицы →→
— Важный скрипт. Связанные выпадающие списки из кэша →→
Проекты:
— Telegram bot + Google Sheets (используя вебхуки) →→
— Эмоджи форматирование выполнения плана (IMAGE, IFS) →→
— Создаем красивое расписание групповых занятий →→
— Создание оглавления в телеграм-канале: как автоматически загружать и сортировать публикации из вашего рабочего файла →→
— Google Форма + Google Таблица для проведения тестирования →→
— Применение IFTTT для отправки сообщений с данными из Таблиц →→
— Googlefinance, Парето и графики (#готовое решение) →→
— Создаем инфографику с помощью IMAGE. Размер картинок пропорционален значениям →→
— Импортируем таблицу из веб-страницы и оставляем только нужные нам столбцы (IMPORTHTML+QUERY) →→
Для новичков:
— Мы на Хабре: "Функции Таблиц, которых нет в Excel": https://habrahabr.ru/post/331360/
— Советы по оптимизации Таблиц →→
— Видеоурок по функции IMPORTRANGE (для связывания нескольких таблиц) →→
— Видеоурок по фильтрам и режиму фильтрации →→
— Про виды доступа к документам →→
— Совместная работа с фильтрами →→
Полное оглавление нашего канала: тыц
Наш чат: @google_spreadsheets_chat
👍4
Почти три года и сотни публикаций, кейсов, формул — вот такой путь к 10 000 подписчиков.
Друзья, благодарим вас за поддержку! И двигаемся дальше.
А сегодня - про простую функцию, которая может быстро сформировать массив хоть из 10 000 чисел.
Это
Она простая — у нее следующие аргументы:
число строк, число столбцов, первое значение и шаг.
P.S. Дата в Таблицах — это тоже число, поэтому с помощью функции вы сможете формировать массивы и из дат
Друзья, благодарим вас за поддержку! И двигаемся дальше.
А сегодня - про простую функцию, которая может быстро сформировать массив хоть из 10 000 чисел.
Это
SEQUENCE. Она простая — у нее следующие аргументы:
число строк, число столбцов, первое значение и шаг.
=SEQUENCE(10000;1;1;1) - это один столбец с числами от 1 до 10000.=SEQUENCE(3;3;0;100) - матрица 3 на 3 от 0 до 800.P.S. Дата в Таблицах — это тоже число, поэтому с помощью функции вы сможете формировать массивы и из дат
Вытащим из предложения все товары и посчитаем их стоимость в рублях
Привет, друзья! Представьте, у нас есть текстовая строка:
Рассказываем, как в этой строке оставить только товары, вытащить каждый отдельно, сопоставить с прайс-листом и посчитать общую сумму.
Всё на скриншоте.
Таблица с примером и формулами
Привет, друзья! Представьте, у нас есть текстовая строка:
купили: товар 1, товар 2, товар 6
Рассказываем, как в этой строке оставить только товары, вытащить каждый отдельно, сопоставить с прайс-листом и посчитать общую сумму.
Всё на скриншоте.
Таблица с примером и формулами
Копируем данные из сотен Таблиц с помощью Advanced Google Services
Максимальное время работы одного GAS скрипта — 6 минут. Это значит, что если вы с помощью Spreadsheet Service пытаетесь обойти сотни Таблиц и скопировать из них тысячи строк — времени может не хватить и ваш скрипт завершится по таймауту.
Есть альтернатива, есть более быстрый способ манипулировать файлами, обращаться к ним, копировать данные, удалять данные и наводить всяческий хаос, как мы любим — это Advanced Script Services. У вас будут те же 6 минут для работы скрипта, но за это время вы сможете успеть больше.
Мы подготовили для вас пример: скрипт 100 раз открывает оглавление нашего канала, объединяет данные в один массив и вставляет результат в Таблицу. Еще Advanced API грузит только заполненные ячейки, чтобы это побороть и не нарушить итоговую схему данных — скрипт дописывает пустые ячейки в те строки массива, где они нужны.
Официальная документация
Перед использованием службу нужно активировать
Таблица с примером
Максимальное время работы одного GAS скрипта — 6 минут. Это значит, что если вы с помощью Spreadsheet Service пытаетесь обойти сотни Таблиц и скопировать из них тысячи строк — времени может не хватить и ваш скрипт завершится по таймауту.
Есть альтернатива, есть более быстрый способ манипулировать файлами, обращаться к ним, копировать данные, удалять данные и наводить всяческий хаос, как мы любим — это Advanced Script Services. У вас будут те же 6 минут для работы скрипта, но за это время вы сможете успеть больше.
Мы подготовили для вас пример: скрипт 100 раз открывает оглавление нашего канала, объединяет данные в один массив и вставляет результат в Таблицу. Еще Advanced API грузит только заполненные ячейки, чтобы это побороть и не нарушить итоговую схему данных — скрипт дописывает пустые ячейки в те строки массива, где они нужны.
Официальная документация
Перед использованием службу нужно активировать
Таблица с примером
👍3
Всё, что касается Google Таблиц можно обсудить в нашем чате: @google_spreadsheets_chat
Присоединяйтесь!
Присоединяйтесь!
Срезы в Google Таблицах
Итак, друзья, Google Таблицы продолжают обновляться - и некоторое время назад в них появились срезы.
Они похожи на срезы в Excel. Там их можно применять к сводным таблицам и "умным таблицам" (которые вызываются опцией "Форматировать как таблицу").
Срез - это отдельно вынесенный фильтр, примененный к одному столбцу. Удобно и наглядно.
В Google Таблицах Срезы можно применять к обычным диапазонам, сводным таблицам и диаграммам.
Вызываются срезы через меню Данные -> Срезы.
После создания среза выберите столбец, по которому будут фильтроваться данные. Срезов может быть несколько на одну таблицу - если вам нужно фильтровать по нескольким столбцам.
Если вы хотите работать не с обычным диапазоном, а со сводной - создайте срез на листе со сводной и не забудьте убедиться, что активирована галочка "Применить к сводным таблицам" в настройках среза.
Там же в боковой панели среза на вкладке "Дополнительные" можно отредактировать оформление - например, поменять цвет фона, как в нашем примере.
Если хотите применить срез к диаграмме - создайте его на листе с диаграммой. При этом фильтровать можно и данные на другом листе. Главное, чтобы это были те данные, на основе которых диаграмма построена.
Итак, друзья, Google Таблицы продолжают обновляться - и некоторое время назад в них появились срезы.
Они похожи на срезы в Excel. Там их можно применять к сводным таблицам и "умным таблицам" (которые вызываются опцией "Форматировать как таблицу").
Срез - это отдельно вынесенный фильтр, примененный к одному столбцу. Удобно и наглядно.
В Google Таблицах Срезы можно применять к обычным диапазонам, сводным таблицам и диаграммам.
Вызываются срезы через меню Данные -> Срезы.
После создания среза выберите столбец, по которому будут фильтроваться данные. Срезов может быть несколько на одну таблицу - если вам нужно фильтровать по нескольким столбцам.
Если вы хотите работать не с обычным диапазоном, а со сводной - создайте срез на листе со сводной и не забудьте убедиться, что активирована галочка "Применить к сводным таблицам" в настройках среза.
Там же в боковой панели среза на вкладке "Дополнительные" можно отредактировать оформление - например, поменять цвет фона, как в нашем примере.
Если хотите применить срез к диаграмме - создайте его на листе с диаграммой. При этом фильтровать можно и данные на другом листе. Главное, чтобы это были те данные, на основе которых диаграмма построена.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека небольших скриптов onEdit()
Друзья, привет, в этом проекте мы собираем небольшие скрипты onEdit(), про которые когда-то писали на канале. А ниже — два новых скрипта, спасибо нашему чату за идеи.
1) Изменяем название листа в зависимости от введенного в ячейку A1:
2) Пользователь написал «лазер» в третьем столбце — отправим эту строку на другой лист
Друзья, привет, в этом проекте мы собираем небольшие скрипты onEdit(), про которые когда-то писали на канале. А ниже — два новых скрипта, спасибо нашему чату за идеи.
1) Изменяем название листа в зависимости от введенного в ячейку A1:
function onEdit(e) {
var ss = e.source;
var sheet = ss.getActiveSheet();
var r = e.range;
var v = e.value;
if(r.getA1Notation() === 'A1' && sheet.getName() !== v){sheet.setName(v)}
}2) Пользователь написал «лазер» в третьем столбце — отправим эту строку на другой лист
function onEdit(e) {
var ss = e.source;
var sheet1 = ss.getActiveSheet();
var sheet2 = ss.getSheetByName("сюда");
var lr = sheet2.getLastRow() + 1;
var range = e.range;
var row = range.getRow();
var column = range.getColumn();
var value = e.value;
if(column == '3' && value.match(/лазер/gi)){
sheet2.getRange("A" + lr + ":" + "C" + lr).setValues(
sheet1.getRange("A" + row + ":" + "C" + row).getValues()
)}
}❤1
Функция QUERY. Формируем запрос в WHERE ко всем колонкам формулой
Привет! Запрос в QUERY — текстовая строка и поэтому его всегда можно сформировать формулой.
Представьте — в ваших данных сто колонок и вы хотите написать запрос и вывести строки, в которых каждая ячейка будет больше 0.
Можно перечислить все сто колонок руками:
На скриншоте показываем, как это сделать.
Таблица с примером
Привет! Запрос в QUERY — текстовая строка и поэтому его всегда можно сформировать формулой.
Представьте — в ваших данных сто колонок и вы хотите написать запрос и вывести строки, в которых каждая ячейка будет больше 0.
Можно перечислить все сто колонок руками:
WHERE Col1>0 and Col2>0 and ColN>0 and Col100>0, а можно написать формулу, которая создаст эту текстовую строку.На скриншоте показываем, как это сделать.
Таблица с примером
🔥3👍1
OR / AND в функции FILTER
Друзья, в FILTER можно комбинировать логические условия OR и AND. Для этого нужно сделать следующее:
1) Взять каждое условие в круглые скобки
2) Соединить условия разделителем:
OR (ИЛИ):
Примеры — на скриншоте
Таблица с примером
Друзья, в FILTER можно комбинировать логические условия OR и AND. Для этого нужно сделать следующее:
1) Взять каждое условие в круглые скобки
2) Соединить условия разделителем:
OR (ИЛИ):
+
AND (И): * или ; или , (в зависимости от региональных настроек разделителем может выступать точка с запятой или запятая; звездочка будет работать при любых настройках)Примеры — на скриншоте
Таблица с примером
👍10
Вывод названия месяца из даты в именительном падеже
—
—
— Формула сможет работать в
Другие способы из нашего чата:
Второй способ,
https://xn--r1a.website/google_spreadsheets_chat/62466
Третий способ,
https://xn--r1a.website/google_spreadsheets_chat/62520
Четвертый способ,
https://xn--r1a.website/google_spreadsheets_chat/62470
Спасибо @oshliaer и @IT_sAdmin за помощь в подготовке поста 🤗
Наш чат: @google_spreadsheets_chat
—
МЕСЯЦ/MONTH возвращает номер месяца (от 1 до 12) на который выпадает заданная дата—
ВЫБОР/CHOOSE достает из списка с названиями месяца значение по индексу— Формула сможет работать в
ARRAYFORMULA, сразу для многих ячеек (см. скриншот, там диапазон A1:A10)Другие способы из нашего чата:
Второй способ,
IFS:https://xn--r1a.website/google_spreadsheets_chat/62466
Третий способ,
ВПР:https://xn--r1a.website/google_spreadsheets_chat/62520
Четвертый способ,
INDEX, но без ARRAYFORMULA:https://xn--r1a.website/google_spreadsheets_chat/62470
Спасибо @oshliaer и @IT_sAdmin за помощь в подготовке поста 🤗
Наш чат: @google_spreadsheets_chat
👍3❤1
Друзья, подписчик нашего канала создал Таблицу для учета своих активов и написал про это статью.
Вводная от меня. Основа его Таблицы — функция
Таким образом вы всегда сможете собирать нужные вам котировки и другую информацию без скриптов / интеграции с АПИ.
Кстати, скриптами это делать даже сложнее — чтобы обычный parsexml из скрипта проглотил сайт, html нужно сначала обработать, экранировать экранируемое, с тегами порядок навести, с кавычками, etc.
Так что разбирайтесь, как писать xpath и пользуйтесь этой мощной функцией.
Статья: https://vc.ru/finance/92990-upravlencheskiy-uchet-lichnyh-aktivov
Таблица с портфелем: https://clck.ru/K9CLT
Вводная от меня. Основа его Таблицы — функция
IMPORTXML, она позволяет вытаскивать почти любую строку из веб-страницы, вам нужно только научиться писать xpath запрос. Таким образом вы всегда сможете собирать нужные вам котировки и другую информацию без скриптов / интеграции с АПИ.
Кстати, скриптами это делать даже сложнее — чтобы обычный parsexml из скрипта проглотил сайт, html нужно сначала обработать, экранировать экранируемое, с тегами порядок навести, с кавычками, etc.
Так что разбирайтесь, как писать xpath и пользуйтесь этой мощной функцией.
Статья: https://vc.ru/finance/92990-upravlencheskiy-uchet-lichnyh-aktivov
Таблица с портфелем: https://clck.ru/K9CLT
vc.ru
Управленческий учет личных активов 📊 — Финансы на vc.ru
Хочу поделиться собственной историей учета инвестиций и личных активов. В этой истории, которая длится и по сей день, — инвестиции присутствуют постоянно, но способ их учета меняется, потому что пытаюсь сделать его адекватным текущему моменту времени.
❤1
Forwarded from Eugeny Namokonov
Налетай, скрипты покупай
Наша артель уже четыре года пишет скрипты для Google Таблиц, Документов и Диска.
С помощью скриптов и нашей магии можно сделать что угодно. ВОТ СОВСЕМ.
Например, открываем Excel файл на вашем диске, превращаем в Таблицу, форматируем, конвертируем в текстовый файл, отправляем по почте, сохраняем на Google Диск и делаем post-запрос одновременно. Это реально и мы это делали.
Что еще делали
✔ выгружали письма из gmail ящика и использовали их, чтобы создать в календаре события (Маша З, 30 ноября, делаем ноготочки)
✔ все виды конвертаций файлов на вашем диске
✔ реестр файлов диска и смена прав доступа к файлам через интерфейс Таблицы (уберите сотрудника из всех файлов разом)
✔ интеграции со внешними API, забираем остатки, продажи и вставляем в Таблицу
Итак, мы можем реализовать для вашего бизнеса любой алгоритм и заставить его выполняться автоматически в облаке. Время сотрудника освободится для более важных дел.
Дорого. Эффективно.
За скриптами писать сюда: @namokonov
Наша артель уже четыре года пишет скрипты для Google Таблиц, Документов и Диска.
С помощью скриптов и нашей магии можно сделать что угодно. ВОТ СОВСЕМ.
Например, открываем Excel файл на вашем диске, превращаем в Таблицу, форматируем, конвертируем в текстовый файл, отправляем по почте, сохраняем на Google Диск и делаем post-запрос одновременно. Это реально и мы это делали.
Что еще делали
✔ выгружали письма из gmail ящика и использовали их, чтобы создать в календаре события (Маша З, 30 ноября, делаем ноготочки)
✔ все виды конвертаций файлов на вашем диске
✔ реестр файлов диска и смена прав доступа к файлам через интерфейс Таблицы (уберите сотрудника из всех файлов разом)
✔ интеграции со внешними API, забираем остатки, продажи и вставляем в Таблицу
Итак, мы можем реализовать для вашего бизнеса любой алгоритм и заставить его выполняться автоматически в облаке. Время сотрудника освободится для более важных дел.
Дорого. Эффективно.
За скриптами писать сюда: @namokonov