Друзья, привет!
Допустим, у вас две таблицы: одна с приходом товара, а другая с его расходом.
Построим формулу, которая отобразит разницу этих таблиц по каждому наименованию.
1) умножаем таблицу с расходом на -1,
2) текстовые поля вернут ошибку, поэтому оборачиваем умножение в
3) объединяем таблицы с расходом и приходом:
4) и наконец: полученный массив используем в
Таблица с примером.
Допустим, у вас две таблицы: одна с приходом товара, а другая с его расходом.
Построим формулу, которая отобразит разницу этих таблиц по каждому наименованию.
1) умножаем таблицу с расходом на -1,
=ARRAYFORMULA(F7:G13*-1)2) текстовые поля вернут ошибку, поэтому оборачиваем умножение в
ЕСЛИОШИБКА (IFERROR), возвращая в случае ошибки исходный диапазон: =ARRAYFORMULA(IFERROR(F7:G13*-1;F7:G13))3) объединяем таблицы с расходом и приходом:
=ARRAYFORMULA({B7:C12;IFERROR(F7:G13*-1;F7:G13)})4) и наконец: полученный массив используем в
QUERY, группируем по первому столбцу, суммируя второй: =QUERY(ARRAYFORMULA({B7:C12;IFERROR(F7:G13*-1;F7:G13)});"select Col1, sum(Col2) group by Col1")Таблица с примером.
👍3
Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу
Друзья, привет! Мы подготовили для вас скрипт. Он умеет переносить письма из gmail-аккаунта юзера, запустившего скрипт в Таблицу.
Одна строка — одно письмо, при переносе скрипт делает перенесенные письма прочитанными в почтовом ящике.
Чтобы заработало, вам нужно:
1. скопировать Таблицу со скриптом
2. открыть редактор скриптов > дополнительные функции Google и включить
3. заполнить первые три строки в коде:
— ID таблицы и название листа, туда будут вставляться письма
— Поисковый запрос к почтовому ящику, например
4. запустить функцию
P.S. Синтаксис поискового запроса: https://support.google.com/mail/answer/7190, созданный запрос можете проверить в веб-интерфейсе почты gmail.
Друзья, привет! Мы подготовили для вас скрипт. Он умеет переносить письма из gmail-аккаунта юзера, запустившего скрипт в Таблицу.
Одна строка — одно письмо, при переносе скрипт делает перенесенные письма прочитанными в почтовом ящике.
Чтобы заработало, вам нужно:
1. скопировать Таблицу со скриптом
2. открыть редактор скриптов > дополнительные функции Google и включить
Gmail API3. заполнить первые три строки в коде:
— ID таблицы и название листа, туда будут вставляться письма
— Поисковый запрос к почтовому ящику, например
'after:2019/05/12' - письма после 12 мая'after:2019/05/12 and is:unread' - после 12 мая и непрочитанные4. запустить функцию
run(), ее можно запускать как руками, так и ставить в расписание на регулярный запуск (изменить > триггеры текущего проекта в редакторе скриптов), письма по вашему запросу будут добавляться в ТаблицуP.S. Синтаксис поискового запроса: https://support.google.com/mail/answer/7190, созданный запрос можете проверить в веб-интерфейсе почты gmail.
👍4
Forwarded from CONTRIBUTOR.PW (Alexander Ivanov)
2.gif
13.9 MB
Хорошие новости. Теперь в Таблицах можно обрезать пробелы в строках штатными средствами. Т.н. операция
trim доступна из меню https://gsuiteupdates.googleblog.com/2019/05/new-sheets-features-may.html?utm_source=contributor.pw👍1
Forwarded from CONTRIBUTOR.PW (Alexander Ivanov)
1.gif
12.5 MB
Действительно, функция удаления дубликатов в Таблицах должна быть встроенной https://gsuiteupdates.googleblog.com/2019/05/new-sheets-features-may.html?utm_source=contributor.pw
ARRAYFORMULA для автоматической нумерации списков.
Друзья, мы принесли вам отличную формулу, с помощью которой вы можете сделать автоматическую нумерацию списка по одному и более условиям.
За накопление (за увеличение каждого счетчика на 1) отвечает часть
Друзья, мы принесли вам отличную формулу, с помощью которой вы можете сделать автоматическую нумерацию списка по одному и более условиям.
За накопление (за увеличение каждого счетчика на 1) отвечает часть
ROW(A:A);"<="&ROW(A:A)
1) Нумерация по одному условию (столбцу):=ARRAYFORMULA(
COUNTIFs(A3:A9;A3:A9;ROW(A3:A9);"<="&ROW(A3:A9))
)
2) Нумерация по двум условиям (столбцам):=ARRAYFORMULA(
COUNTIFS(D3:D8;D3:D8;E3:E8;E3:E8;ROW(A3:A8);"<="&ROW(A3:A8))
)
Таблица с примером🤬1
Сегодня у нас небольшой лайфхак про применение IFTTT для отправки сообщений с данными из Таблиц от нашего читателя Романа Моисеева. Спасибо Роману!
Зачастую мне необходимо знать всего один показатель из таблицы после заполнения формы и для этого не всегда удобно залезать в таблицу. И вот что я придумал:
Через сервис IFTTT можно сделать так, чтобы данные ячейки после каждого обновления передавались в любой удобной форме практически в любой сервис. В моем случае с расходами я установил себе, что после того, как я вношу трату, мне в Telegram приходит остаток на день. И вот как это работает.
Зачастую мне необходимо знать всего один показатель из таблицы после заполнения формы и для этого не всегда удобно залезать в таблицу. И вот что я придумал:
Через сервис IFTTT можно сделать так, чтобы данные ячейки после каждого обновления передавались в любой удобной форме практически в любой сервис. В моем случае с расходами я установил себе, что после того, как я вношу трату, мне в Telegram приходит остаток на день. И вот как это работает.
Если вспомнить, что дата и время в Google Таблицах - это числа, то мы поймем, что можем без труда генерировать случайные даты и время.
Google Документ с примером
Google Документ с примером
Скрипт копирования / фильтрации.
Друзья, привет. В последние недели в нашем чате все чаще спрашивают — а что делать, если не работает функция
Мы написали простой скрипт, который поможет в такой ситуации:
1) скрипт открывает выбранную Таблицу / лист в ней
2) берет диапазон и фильтрует его по первому столбцу по дате (мы это сделали, чтобы показать, что так можно)
3) очищает лист в другой Таблице
4) и вставляет данные
В скрипте всего несколько строк кода и каждая из них снабжена комментариями, чтобы открыть скрипт — скопируйте таблицу себе и перейдите в Инструменты → Редактор скриптов.
Таблица со скриптом, которую нужно скопировать
P. S. Чтобы скрипт выполнялся регулярно, например, раз в сутки — идем в Правка → Триггеры текущего проекта и задаем расписание запуска.
Друзья, привет. В последние недели в нашем чате все чаще спрашивают — а что делать, если не работает функция
Importrange и данные из другой Таблицы не загружаются или загружаются не полностью (кстати, вот ответ поддержки на это).Мы написали простой скрипт, который поможет в такой ситуации:
1) скрипт открывает выбранную Таблицу / лист в ней
2) берет диапазон и фильтрует его по первому столбцу по дате (мы это сделали, чтобы показать, что так можно)
3) очищает лист в другой Таблице
4) и вставляет данные
В скрипте всего несколько строк кода и каждая из них снабжена комментариями, чтобы открыть скрипт — скопируйте таблицу себе и перейдите в Инструменты → Редактор скриптов.
Таблица со скриптом, которую нужно скопировать
P. S. Чтобы скрипт выполнялся регулярно, например, раз в сутки — идем в Правка → Триггеры текущего проекта и задаем расписание запуска.
Друзья, в Medium рассказываем про третий аргумент в QUERY (заголовки).
P.S. И показываем, как вы можете объединить все ячейки внутри каждого столбца
=QUERY(диапазон данных;"запрос";заголовки)
P.S. И показываем, как вы можете объединить все ячейки внутри каждого столбца
Medium
Query и последний аргумент (заголовки)
Друзья, привет! В функции QUERY, помимо диапазона данных и текстового запроса есть третий аргумент, он отвечает за количество строк…
👍1
Последние новости Google Таблиц
— появилась возможность посмотреть историю редактирования любой ячейки
— в новую Google Форму теперь можно переносить вопросы из старой (новость)
— можно открывать XLSX-файлы (и другие форматы документов Office) и изменять прямо на Google Диске (новость)
— появилась возможность посмотреть историю редактирования любой ячейки
— в новую Google Форму теперь можно переносить вопросы из старой (новость)
— можно открывать XLSX-файлы (и другие форматы документов Office) и изменять прямо на Google Диске (новость)
Workspace Updates Blog
Google Workspace Updates: Import questions from previously existing forms into a new Google form
Заменяем выбранное значение на другое. Сниппет.
Друзья, привет! Сегодня публикуем сниппет, который позволяет заменить одно значение в диапазоне на другое. Этот сниппет сможете использовать как внутри других скриптов, так и просто в Таблице, как пользовательскую функцию (смотрите гифку).
А еще мы добавили наш чат к каналу, теперь вы можете перейти в него просто нажав кнопку "Discuss".
Друзья, привет! Сегодня публикуем сниппет, который позволяет заменить одно значение в диапазоне на другое. Этот сниппет сможете использовать как внутри других скриптов, так и просто в Таблице, как пользовательскую функцию (смотрите гифку).
function sheet_replace(range, search, replace) {
return range.map(function(row) {
return row.map(function(cell) {
return cell == search ? replace : cell
})
})
}А еще мы добавили наш чат к каналу, теперь вы можете перейти в него просто нажав кнопку "Discuss".
Учимся извлекать из текста нужное. База знаний регулярных выражений для REGEXEXTRACT.
Друзья, мы подготовили для вас Таблицу с паттернами регулярных выражений, она поможет достать из текста:
А еще можно заменять и проверять, не только доставать. Напоминаем, в Google Таблицах есть три функции для работы с регулярными выражениями:
Таблица сделана силами нашего чата, спасибо: @IT_sAdmin, @mrykin, @avazbek88, Макс Махров.
Если вы хотите добавить примеры своих выражений — просто напишите мне (@namokonov) в лс.
Друзья, мы подготовили для вас Таблицу с паттернами регулярных выражений, она поможет достать из текста:
— номер телефона
— электропочту
— какую-то цифру или слово
— вы сможете чуть лучше понять регуляркиА еще можно заменять и проверять, не только доставать. Напоминаем, в Google Таблицах есть три функции для работы с регулярными выражениями:
REGEXEXTRACT для извлечения, REGEXMATCH для проверки соответствия и REGEXREPLACE для замены текста.Таблица сделана силами нашего чата, спасибо: @IT_sAdmin, @mrykin, @avazbek88, Макс Махров.
Если вы хотите добавить примеры своих выражений — просто напишите мне (@namokonov) в лс.
❤1
ЛЕВЫЙ ВПР (когда искомое значение не в первом столбце)
Если в исходной таблице искомые данные стоят правее тех данных, которые вам нужно возвращать с помощью
Но в Google Таблицах можно еще проще решить эту проблему, пересобрав таблицу в правильном порядке в массив внутри ВПР.
Напомним, что для горизонтального объединения массивов их нужно взять в фигурные скобки и поставить между ними обратную косую черту (либо запятую, для других региональных настроек):
А еще с помощью этой конструкции можно создать массив только из двух столбцов (столбца поиска и столбца, который будет возвращаться) и не использовать внутри
Если в исходной таблице искомые данные стоят правее тех данных, которые вам нужно возвращать с помощью
ВПР / VLOOKUP, можно воспользоваться сочетанием функций ИНДЕКС / INDEX и ПОИСКПОЗ / MATCH (так обычно это решается в Excel).Но в Google Таблицах можно еще проще решить эту проблему, пересобрав таблицу в правильном порядке в массив внутри ВПР.
Напомним, что для горизонтального объединения массивов их нужно взять в фигурные скобки и поставить между ними обратную косую черту (либо запятую, для других региональных настроек):
=ВПР(A2;{'Прайс-лист'!B:B \ 'Прайс-лист'!A:A};2;0)А еще с помощью этой конструкции можно создать массив только из двух столбцов (столбца поиска и столбца, который будет возвращаться) и не использовать внутри
ВПР таблицу из двадцати столбцов, что может работать медленно.❤4
Скрипт. Прочитаем, что написано на стикерах.
OCR в Google Docs
Недавно нам потребовалось распознать текст, который был написан на нескольких сотнях стикеров. В Google Документах доступна функция OCR (optical character recognition), ей мы и воспользовались.
Мы нашли скрипт, немного модифицировали его и выкладываем в Таблице с примером.
Работает он так:
Чтобы скрипт заработал — активируйте Drive Api в редакторе скриптов (Ресурсы → Дополнительные функции Google)
Таблица со скриптом (файл → создать копию)
Папка со стикерами (сделайте копию, если захотите попробовать скрипт на нашей папке)
Про OCR:
https://habr.com/ru/post/114670/
https://habr.com/ru/post/97173/
OCR в Google Docs
Недавно нам потребовалось распознать текст, который был написан на нескольких сотнях стикеров. В Google Документах доступна функция OCR (optical character recognition), ей мы и воспользовались.
Мы нашли скрипт, немного модифицировали его и выкладываем в Таблице с примером.
Работает он так:
1) На листе "config" задаете ID папки на Google Диске с PNG / JPG / PDF и задаете лист, на который будет сохранятся результат. ID папки - часть URL адреса после folder/. Папка должна находиться на вашем Google Диске, так как скрипт будет создавать в ней Doc файлы.
2) Скрипт проходится по всем изображениям в заданной папке, сохраняя их копию в Doc. Внутри Doc будет распознанный текст.
3) Дальше этот текст, ID и URL Документа скрипт вставит в Таблицу.Чтобы скрипт заработал — активируйте Drive Api в редакторе скриптов (Ресурсы → Дополнительные функции Google)
Таблица со скриптом (файл → создать копию)
Папка со стикерами (сделайте копию, если захотите попробовать скрипт на нашей папке)
Про OCR:
https://habr.com/ru/post/114670/
https://habr.com/ru/post/97173/
❤2
На скриншоте - пользовательский числовой формат. То есть не условное форматирование. И в ячейках числа - с ними можно проводить расчеты.
Как сделать такой формат?
Нужен следующий код:
[<2000][Red]#,# * 🔥;[>3000][Green]#,# * 🔥🔥🔥;[Blue]#,# * 🔥🔥
Расшифруем его:
🔥 - текст, который мы хотим видеть в ячейке помимо числа (вы можете взять любой другой символ или написать разные слова для разных случаев)
Файл с примером - по ссылке:
https://docs.google.com/spreadsheets/d/1H_pCMtfCtZZUfLee893v7-Y6-lAGotjWOKdnkAUq9iQ
Как сделать такой формат?
Нужен следующий код:
[<2000][Red]#,# * 🔥;[>3000][Green]#,# * 🔥🔥🔥;[Blue]#,# * 🔥🔥
Расшифруем его:
[<2000] - условия. У нас есть формат для чисел меньше 2000, для чисел больше 3000 и для остальных случаев.[Red] - цвет шрифта#,# - числовой формат с разделителями разрядов🔥 - текст, который мы хотим видеть в ячейке помимо числа (вы можете взять любой другой символ или написать разные слова для разных случаев)
* - выравнивает число слева, а текст справаФайл с примером - по ссылке:
https://docs.google.com/spreadsheets/d/1H_pCMtfCtZZUfLee893v7-Y6-lAGotjWOKdnkAUq9iQ
👍3
Поговорим еще немного про пользовательские форматы чисел
— добавляем к числам «штуки», не делая строки текстовыми
— создаем свой формат для положительных и отрицательных чисел
— отдельный формат в зависимости от величины числа
— добавляем цвет
— работа с тысячами
Пользовательские форматы
— добавляем к числам «штуки», не делая строки текстовыми
— создаем свой формат для положительных и отрицательных чисел
— отдельный формат в зависимости от величины числа
— добавляем цвет
— работа с тысячами
Пользовательские форматы
Друзья, мы нашли новое пространство для рекламы.
По ссылке — видео, Маша танцует Frame Up (смесь движений Jazz Funk, Strip, High Hells) в футболке нашего канала
Шер, ретвит и Google Sheet!
P. S. А завтра опубликуем скрипт для связанных выпадающих списков, будем брать их из кеша Таблицы, теперь списки могут быть огромными и будут работать быстрее.
По ссылке — видео, Маша танцует Frame Up (смесь движений Jazz Funk, Strip, High Hells) в футболке нашего канала
«make @google_sheets great again». Спасибо Маше за такую любовь к Таблицам, подписывайтесь на ее Инстаграмм. Шер, ретвит и Google Sheet!
P. S. А завтра опубликуем скрипт для связанных выпадающих списков, будем брать их из кеша Таблицы, теперь списки могут быть огромными и будут работать быстрее.
Друзья, на нашем канале уже более 200 постов.
Иногда мы и сами не можем сразу вспомнить, о чем писали 🙂
Так что решили помочь вам с навигацией и собрали несколько постов для новичков и несколько самых интересных формул и скриптов в одном месте.
— Мы на Хабре: "Функции Таблиц, которых нет в Excel": https://habrahabr.ru/post/331360/
— Советы по оптимизации Таблиц: https://xn--r1a.website/google_sheets/143
— Видеоурок по функции IMPORTRANGE (для связывания нескольких таблиц): https://www.youtube.com/watch?v=HOTpjAqdalc
— Видеоурок по фильтрам и режиму фильтрации: https://www.youtube.com/watch?v=kHN5sIFLIjw
— Про виды доступа к документам: t.me/google_sheets/341
— Совместная работа с фильтрами: https://xn--r1a.website/google_sheets/337
— Функция FILTER. Список условий выбираем диапазоном прямо с листа: https://xn--r1a.website/google_sheets/102
— Памятка по синтаксису QUERY / FILTER / SUMIFS: https://xn--r1a.website/google_sheets/283
— Создаем красивое расписание групповых занятий: https://xn--r1a.website/google_sheets/325
— Google Форма + Google Таблица для проведения тестирования: https://xn--r1a.website/google_sheets/292
— Формула, которая достает изображения из поисковой выдачи Яндекса и добавляет их в прайс-лист: https://xn--r1a.website/google_sheets/367
— ВПР в массиве вместо тысячи CУММЕСЛИМН (заполняем весь лист одной формулой): https://xn--r1a.website/google_sheets/355
— Простой скрипт копирования / фильтрации (поможет, когда IMPORTRANGE перестает работать): https://xn--r1a.website/google_sheets/384
— Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу: https://xn--r1a.website/google_sheets/374
— Скрипт, отправляем письма на электропочты из диапазона, который вы выделяете: https://xn--r1a.website/google_sheets/212
— И еще один скрипт для отправки писем (отправляем письма только на те адреса, на которые еще не отправляли): https://xn--r1a.website/google_sheets/339
Иногда мы и сами не можем сразу вспомнить, о чем писали 🙂
Так что решили помочь вам с навигацией и собрали несколько постов для новичков и несколько самых интересных формул и скриптов в одном месте.
Если вы только начинаете работать в Таблицах, вам будет полезно:— Мы на Хабре: "Функции Таблиц, которых нет в Excel": https://habrahabr.ru/post/331360/
— Советы по оптимизации Таблиц: https://xn--r1a.website/google_sheets/143
— Видеоурок по функции IMPORTRANGE (для связывания нескольких таблиц): https://www.youtube.com/watch?v=HOTpjAqdalc
— Видеоурок по фильтрам и режиму фильтрации: https://www.youtube.com/watch?v=kHN5sIFLIjw
— Про виды доступа к документам: t.me/google_sheets/341
— Совместная работа с фильтрами: https://xn--r1a.website/google_sheets/337
Про функции:— Функция FILTER. Список условий выбираем диапазоном прямо с листа: https://xn--r1a.website/google_sheets/102
— Памятка по синтаксису QUERY / FILTER / SUMIFS: https://xn--r1a.website/google_sheets/283
— Создаем красивое расписание групповых занятий: https://xn--r1a.website/google_sheets/325
— Google Форма + Google Таблица для проведения тестирования: https://xn--r1a.website/google_sheets/292
— Формула, которая достает изображения из поисковой выдачи Яндекса и добавляет их в прайс-лист: https://xn--r1a.website/google_sheets/367
— ВПР в массиве вместо тысячи CУММЕСЛИМН (заполняем весь лист одной формулой): https://xn--r1a.website/google_sheets/355
Про скрипты:— Простой скрипт копирования / фильтрации (поможет, когда IMPORTRANGE перестает работать): https://xn--r1a.website/google_sheets/384
— Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу: https://xn--r1a.website/google_sheets/374
— Скрипт, отправляем письма на электропочты из диапазона, который вы выделяете: https://xn--r1a.website/google_sheets/212
— И еще один скрипт для отправки писем (отправляем письма только на те адреса, на которые еще не отправляли): https://xn--r1a.website/google_sheets/339
Habr
Полезные функции Google Таблиц, которых нет в Excel
Cтатья написана в соавторстве с Ренатом Шагабутдиновым. В этой статье речь пойдет о нескольких очень полезных функциях Google Таблиц, которых нет в Excel (SORT, объединение массивов, FILTER,...
👍2