Опять суббота, опять ответы

Опять суббота, опять ответы

Google Таблицы - это мощно (https://t.me/google_sheets)
Нужно отправлять письмо, только если заполняется определённая колонка. Быстрое решение не получилось найти.

*Если у вас не G Suite аккаунт, то вы сможете отправить всего 100 писем в день.


Пишем скрипт onEdit.

Письма будут отправляться при изменениях столбца A (1-го) на листе ЛистЛист


function onEdit(e){

 var range = e.range

 if(range.getSheet().getName()=="ЛистЛист"&&range.getColumn()==1){

  MailApp.sendEmail("komy@gmail.com", "Тема письма", "Текст")

 }


Скрипт onEdit относится к simple trigger, прав на использование службы MailApp и отправку писем у него нет.

Поэтому идем в редактор скриптов, правка> триггеры текущего проекта.

И привязываем его, дополнительно, к любому изменению Таблицы (см. скриншот).

триггер в триггере

Теперь нужные права есть, скрипт достаточно авторизовать и он будет отправлять письма при изменении выбранного диапазона.


P.S. Если столбец будет меняться достаточно редко - вариант с onEdit подойдет, для больших таблиц и частых изменений нужно писать скрипт, запускающийся раз в 1-2-3-24 часа и сверяющий ваш диапазон с копией, которую он сохранил в конце прошлого запуска. Звучит страшно, но на самом деле достаточно базового знания GAS, а сверку можно делать с помощью формул.

Тут мы писали про один скрипт рассылки, а тут про другой.


Почему функция QUERY выдает иногда в массиве ответов пустую ячейку? Такое поведение Гугл не стабильно, то работает как надо, а то сначала выдает пустую ячейку (точнее в ней один знак ASCII код 32). Прикладываю скриншот.
Там у меня запрос, по которому однозначно должен быть всегда один ответ. Вместо этого, появляется еще и пустая ячейка, а сам ответ сдвигается на ячейку ниже. Повторяю, это поведение не стабильно, иногда все ОК, а иногда вот так.

А что вы хотели? Доу джонс просел на 1000 пунктов, вот и остальное пошло вниз, даже в таблицах :)


Попробуйте Label, команду QUERY для переименования заголовка столбца. Если оставить кавычки пустыми, то исчезнет даже ячейка заголовка, смотрите скриншот. Формулы в C2, E2 и G2.

название столбца пишется также, как в Select, например: query(a1:a;"select sum(A) label sum(A) ''")


Когда я не знал про Label, то в таких случаях суммировал массив до вывода, это тоже убирает заголовок.


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

Привет. Мы уже отвечали на похожий вопрос и рассказывали, какая пользовательская функция (скрипт) выводит список листов и как с них собирать данные с помощью функции ДВССЫЛ/INDIRECT.

См. второй вопрос и ответ на него по ссылке.


Здравствуйте. Работаем командой в несколько человек с гугл табличкой - вносим и редактируем данные. Каждый работает в своем именованном фильтре. До недавнего времени не случалось нам всем одновременно начать фильтровать данные (опять же, каждый в своем фильтре), а тут так сложились обстоятельства, что пришлось. В итоге, при одновременной фильтрации таблицы (в разных именованных фильтрах), у пользователей при вводе данных в поисковую строку фильтра, он самопроизвольно закрывается, не давая даже ввести до конца текст для фильтрации. Ощущение, как буд-то все друг другу мешают. Таже самая ситуация с поиском по таблице при совместной работе. Есть какие-либо пути решения данной проблемы, известные монстрам гугл таблиц? Заранее спасибо.

Привет. Увы, мы с такой проблемой не сталкивались... Сейчас специально посмотрел в одном рабочем файле - там нумерация уже зашла за "Фильтр 300", то есть за все время было больше 300 временных фильтров, из которых штук 80 сохранено и используются.

Правда, это в G Suite (бизнес-аккаунт). Возможно, дело в этом.

Поиск на английском не принес результатов - многие пишут о самом факте существования режима фильтрации (filter views, временные фильтры), но о такой проблеме сообщений мы не нашли.

Если кто-то из читателей тоже сталкивался с такой проблемой - напишите нам, пожалуйста.

Как быть? Возможно, создать по одному листу на человека и настроить на каждом функцию FILTER.


Как с помощью функций IMPORTRANGE и FILTER можно сделать запрос к другому листу и получить значение строки? Т.е. в одном листе я ввожу артикул товара, а в соседней ячейке появляется цена, которая тянется из другой таблицы

  • первый IMPORTRANGE внутри FILTER - диапазон вывода (цена)
  • второй - диапазон условия (артикул)
  • при первом запуске IMPORTRANGE вернет ошибку, нужно на нее навести и кликнуть "разрешить доступ"

Если не получится - подробно описывали здесь (первый вопрос).


Как покрасить всю строку, если соблюдается условие в одной ячейке? (как условное форматирование применить к целой строке, а не к конкретной ячейке)

Писали про это здесь: https://t.me/google_sheets/32, третий абзац.

Там и гифка есть.



Report Page