Google Таблицы
58.3K subscribers
425 photos
122 videos
4 files
774 links
Работа в Google Таблицах. Кейсы, решения и угар.

контакты:
@namokonov
@r_shagabutdinov
@IT_sAdmin

оглавление: goo.gl/HdS2qn
заказ работы: teletype.in/@google_sheets/sheet_happens
чат: @google_spreadsheets_chat
Download Telegram
Друзья, сегодня с помощью условного форматирования закрасим все счета с победой хозяеев (1:0, 4:3, победа первой команды) в зеленый цвет, а с поражением - в красный.

Начнем:

0) в диапазоне A2:A5 счета спортивного состязания, первый:
3 : 2

1) c помощью функции SPLIT (разделитель ":") разделим текстовую строку со счетом на два элемента:
=SPLIT(a2;":")
если счет будет вида 3-1, то конечно разделителем будет "-" и т.д.

2) счет хозяеев, (счет первой команды), извлекаем с помощью функции INDEX, возвращая первый элемент из массива, который получился в рез-те действия функции SPLIT:
=INDEX(SPLIT(A2;":");1)

счет гостей - второй элемент:
=INDEX(SPLIT(A2;":");2)

3) теперь сравниваем результат первой команды и второй, и поместим получившуюся формулу в правило условного форматирования:
=INDEX(SPLIT(A2;":");1) > INDEX(SPLIT(A2;":");2)
если первая цифра в счете больше - формула вернет TRUE и правило сработает, чтобы выделить поражения хозяев используйте эту же формулу, заменив ">" на "<"

4) формула для правила условного форматирования создается для верхней ячейки диапазона (к которому вы применяете усл. форматирование), т.е. достаточно выделить необходимый диапазон (например, A2:A100), создать в нем правило условного форматирования и написать в него формулу для ячейки A2.

Кстати, календарь матчей, используя IMPORTHTML можно загрузить отсюда: https://www.sports.ru/amkar/calendar/, поставив вместо Амкара любую нужную команду (или с любого другого ресурса, где есть таблица с календарем матчей вашей любимой команды).

P.S. Напоминаем, что завтра мы проводим вебинар по супер-функциям FILTER и QUERY с многими кейсами.
Еще можно купить билет: https://google-tablitsy.timepad.ru/event/633908/
а если вы уже зарегистрировались и у вас есть какие-то вопросы - пишите нам, мы поможем.
В проверке данных можно использовать в качестве числового ограничения не фиксированное значение, а число из ячейки.

Например, запрещать ввод в диапазон чисел больше, чем указанное в определенной ячейке.
Пример - на GIF (открывайте по ссылке):

https://goo.gl/itQJqN
в ячейке A2: =ГИПЕРССЫЛКА("https://tttttt.me/google_sheets"; "Google Таблицы")
Друзья, привет, сегодня в субботней подборке ответов на ваши вопросы:

1) пишем пользовательскую функцию, которая выдергивает из =ГИПЕРССЫЛКА(ссылка;текст) - ссылку
2) функция FILTER, использующая данные выпадающего списка, получаем список всех тематик выбранного спикера
3) поговорим про парсинг с помощью IMPORTXML и квоты

Подборка здесь: http://telegra.ph/Subbotnie-otvety-27-yanvarya-2018-01-27
Вопросы сюда: https://goo.gl/bRkn39
Друзья, сегодня пост про проблему функции QUERY: если в ваших данных в одном столбце соседствуют числовые и текстовые значения, то текстовые данные могут исчезнуть при выводе.

Смотрите скриншот: зарплата Людмилы ("большая") просто не отображается.

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

Напомню: столбцы условия не обязательно должны быть в столбцах, предназначенных для вывода (см. формулу на скриншоте ниже)

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

Давайте разбираться. Импортрейнджить будем оглавление нашего канала, каждая строка кода с комментарием: http://telegra.ph/Google-skript-vstavlyaem-formulu-i-zamenyaem-vse-na-znacheniya-01-31

P.S. Подобную модель мы используем для любых ситуаций с тяжелыми формулами (и однотипными, представьте столбец с 20к ВПР), если их постоянное обновление не требуется.
Друзья, сегодня в наших субботних ответах один большой вопрос, отвечая на который мы рассказали:

— про чекбоксы (выпадающие списки)
— про логику формулы IF (Если)
— и как защитить лист, оставив только некоторые диапазоны доступными для редактирования:
http://telegra.ph/Ezhenedelnye-Subbotnie-Moroznye-Otvety-na-vashi-voprosy-02-02

Свой вопрос можно задать здесь: https://goo.gl/bRkn39

P.S. Завтра материал посложней, посвященный текстовым функциям, из длинной строки будем вытаскивать и форматировать дату, стоимость, номера..
Всем привет.
Слушательница одного из потоков моего онлайн-курса обратилась за советом: как оптимальным образом решить задачу с обработкой выгрузки текстовых данных.

Рассмотрим в публикации, как можно решить эту задачу - извлечь из выгрузки отдельные фрагменты текста, разделенные запятой, и сразу обработать: например, извлечь дату и время в нужном формате с помощью регулярного выражения, удалить ненужные символы из другого фрагмента, сразу извлечь и разделить число на 100, чтобы конвертировать копейки в рубли.

Иными словами, настраиваем формулы один раз, чтобы в дальнейшем превращать выгрузку в неудобном формате в данные нужного формата.
http://telegra.ph/Obrabatyvaem-vygruzku-v-vide-teksta-02-04
Друзья, сегодня у нас простой (10 строк кода) скрипт по отправке писем из Google Таблицы.

Механизм такой:
1) выделяем электропочты в столбце C (можно все, можно часть) и нажимаем кнопку Send
2) на каждый выделенный адрес уйдет письмо (с вашего gmail адреса), тему и текст письма скрипт возьмет из соответствующей строки
3) после отправки письма в столбце D появится дата и время отправки

Таблица c примером (а еще с кодом скрипта и комментариями по каждой строке): https://goo.gl/hbUxdp

Диапазон с темой и текстом письма мы получаем с помощью регулярного выражения, чтобы показать вам, как они работают в скриптах ⚡️

P.S. диапазон адресов, который вы выделяете, должен быть непрерывным, выделяем без CTRL
Друзья, сегодня суббота, "лыжня России", 2-ой день олимпиады в Пхёнчхане и наша традиционная подборка ответов на ваши вопросы.

В ней:
— скрипт onEdit(), реагирующий на изменения и отправляющий письма (или триггер в триггере)
— QUERY, убираем саму ячейку заголовка (двумя способами)
— пользовательская функция, которая выводит список всех листов
— а также проблемы именованных фильтров, условное форматирование, IMPORTRANGE + FILTER
http://telegra.ph/Opyat-subbota-opyat-otvety-02-09

Чтобы задать свой вопрос для следующей подборки - нажимайте на закрепленное сообщение, там будет ссылка.
Привет.

Сегодня рассказываем про создание оглавления в телеграм-канале: как автоматически загружать и сортировать публикации из вашего рабочего файла в доступное всем оглавление.
http://telegra.ph/Oglavlenie-telegram-kanala-v-Google-Tablicah-02-10

Напомню, оглавление нашего канала со списком всех постов - в закрепленном сообщении.
Всем хорошей недели!
Друзья, сегодня расскажем о простом триггере onOpen(e) в скриптах Google Таблиц. Он будет запускаться и выполняться при любом открытии Таблицы.

Чтобы воспользоваться простым триггером - его название нужно написать вместо имени функции: function onOpen(e) {

К примерам (Инструменты> редактор скриптов):

1. Создаем меню, как на скриншоте выше, из него можно будет запускать скрипты вашей таблицы. Вместо "имя скрипта" вписывайте названия скриптов вашего проекта.
function onOpen(e){
SpreadsheetApp.getUi()
.createMenu("триггер onOpen позволяет создавать такие меню")
.addItem("скопировать авансы", "имя скрипта")
.addItem("скопировать платежки", "имя скрипта")
.addToUi();
}


2. Фисируем (логируем) каждый вход в таблицу (создайте лист Log).
function onOpen(e){
var log = e.source.getSheetByName("Log")
var stamp = [["login", new Date()]]
log.getRange(log.getLastRow()+1, 1, 1, 2).setValues(stamp)
}


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