Google Apps Script. Урок 1: Перенос данных на другой лист, автоочистка диапазона.

Sdílet
Vložit
  • čas přidán 13. 06. 2022
  • Номер карты для финансовой поддержки проекта
    Monobank: 4441114416773727 Зарудный Игорь
    Telegram канал: t.me/google_gs_and_gds
    Telegram чат: t.me/google_sheets_GDS
    Instagram: / zarudniy_music
    На этом видео уроке мы:
    1. Напишем первый скрипт
    2. Научимся переносить данные с одного листа на другой
    3. Научимся очищать диапазон

Komentáře • 58

  • @this_is_data
    @this_is_data  Před 2 lety

    Номер картки для фінансової підтримки проекту
    Monobank: 4441114416773727 Зарудний Ігор

  • @Oleg_Steenbergen
    @Oleg_Steenbergen Před 2 lety +1

    Дякую за Ваші цікаві та змістовні уроки.

    • @this_is_data
      @this_is_data  Před 2 lety

      Радий бути корисним!) дякую за перегляд

  • @user-yh9tv2ce7p
    @user-yh9tv2ce7p Před 7 měsíci

    Спасибо за скрипт и за прекрасное разъяснение.

  • @i.m_daria
    @i.m_daria Před 2 lety

    Без знання і пояснення синтаксису мови дійсно складно для розуміння. Думаю, найскладніший для мене урок порівняно з іншими. При тому, що трохи цікавилась раніше для себе HTML і CSS, але не JavaScript.

    • @this_is_data
      @this_is_data  Před 2 lety +1

      Дякую за зворотній зв’язок.
      Я не вивчав взагалі основи, або синтаксис, дивився як і хто і що робить, і розумію що можно зробити з часом з роботою на різних проектах. Саме тому у уроках з Google App Script будемо просто розбирати одні з основних та найнеобхідніших скриптів.

  • @noviymir2151
    @noviymir2151 Před 2 lety

    Дякую за урок!!! Інфо 🔥🔥🔥

    • @this_is_data
      @this_is_data  Před 2 lety

      Приємно це чути. Дякую за перегляд☺️

  • @user-ot6eg5ke3j
    @user-ot6eg5ke3j Před 2 lety

    Коментар для просування канала)
    Дякую!

    • @this_is_data
      @this_is_data  Před 2 lety

      Дякую що дивитесь і за допомогу)

  • @iiiujieiiinep
    @iiiujieiiinep Před 2 lety +2

    Супер, именно то что я спрашивал в телеграм чате=)) Теперь буду практиковать=) и ещё хотелось бы узнать как интегрировать кнопку запуска скрипта в саму таблицу=)
    Спасибо!

    • @this_is_data
      @this_is_data  Před 2 lety +1

      Привет!
      Рад быть полезным, на следующем уроке будем работать с триггерами и отдельным блоком рассмотрим виды запуска скрипта - кнопка, checkbox, автоматические триггеры по времени

  • @user-dk4zo5nf8d
    @user-dk4zo5nf8d Před 2 lety +1

    Ого, ну це вже 🤯, але водночас і дуже цікаво!

    • @this_is_data
      @this_is_data  Před 2 lety

      Дякую за зворотній зв'язок, далі ще більше буде цікавих речей.

  • @epoddubniy
    @epoddubniy Před měsícem

    Thanks!!!!!!!

  • @volodymyrdoroshenko9987
    @volodymyrdoroshenko9987 Před 4 měsíci

    Дякую!

  • @iliuhahaha
    @iliuhahaha Před 7 měsíci

    ❤❤❤

  • @yuriy_kostyrko
    @yuriy_kostyrko Před 2 lety

    дякую

    • @this_is_data
      @this_is_data  Před 2 lety

      Дякую що дивишся) та дякую за підтримку проекту)

  • @user-dl9ez4bl6n
    @user-dl9ez4bl6n Před 2 lety

    Подскажите пожалуйста как сделать так что бы при воде в ячейку B2 дата и время выходило автоматически в ячейки А1

    • @this_is_data
      @this_is_data  Před 2 lety

      Привет!
      Это необходимо делать скриптом в одном сообщении сложно объяснить. Но урок по написанию этого скрипта уже запланирован и выйдет 23 июня.

  • @user-zu3zf3cs4u
    @user-zu3zf3cs4u Před rokem

    Здравствуйте! Мне нужно чтобы перенос данных был по условию одного столбца. К пример есть у этих данных еще столбец со статусами и если статус Отгружен, то перенос строк.

    • @this_is_data
      @this_is_data  Před rokem

      Добрий день, налаштуйте if або switch case

    • @user-zu3zf3cs4u
      @user-zu3zf3cs4u Před rokem

      @@this_is_data Мне как то сложно, я только учусь. Но хотя бы в какую часть скрипта. Может у вас есть видео по этой теме?

    • @this_is_data
      @this_is_data  Před rokem

      @@user-zu3zf3cs4u у цьому відео є інформація czcams.com/video/bJ4oD35EmY8/video.html&ab_channel=ThisisData

  • @fess7150
    @fess7150 Před 5 měsíci

    дякую
    если название листа на кириллице, как отобразить?
    Вместо 1rTotal
    делаю
    1r('кириллица') не работает

    • @this_is_data
      @this_is_data  Před 5 měsíci

      Добрий день, не зрозумів запитання.
      Пишіть краще приклад в чат в Телеграм t.me/google_sheets_GDS

  • @tiufanoff
    @tiufanoff Před rokem

    Привіт, підкажи будь ласка, як правильно прописати, щоб при відправці гугл форми, автоматично прописувався порядковий номер замовлення? Функція SEQUENCE не підходить, тому що при видаленні строки все злітає. Дякую

    • @this_is_data
      @this_is_data  Před rokem

      А там впринципі все буду злітати. Я якщо щось роблю з формою, то лише я проміжну частину, далі просто переношу строки скриптом і оброблюю дані. Тому нажаль не підкажу, як варіант подивись на stack overflow, я думаю подібні питання там розбирали.

    • @tiufanoff
      @tiufanoff Před rokem

      @@this_is_data Дякую за швидку відповідь! Отримав підказку з платного пабліку, але не знаю, як це реалізувати, допоможеш?
      Выделить колонку под нумерацию номера заказа.
      Создать скрипт с кодом проставлении нумерации от предыдущего номера ячейки выше ( не путать с последней заполненной ячейки )
      Поставить скрипт на триггер - по отправке формы
      При отправлении формы, скрипт будет срабатывать и проставлять номер заказа от предыдущего.
      Но тут 👉 появляются нюансы, если удалять предыдущие заказы, нумерация сбивается.
      Тогда усложнить скрипт и делать сквозную нумерацию, выделяя под это отдельно ячейку ( по простому счётчик увеличивающий на 1 )
      Тогда нумерация не собьётся а будет только увеличиваться и присваивать номер заказа
      Так например можно накопить счётчик за год

    • @this_is_data
      @this_is_data  Před rokem

      @@tiufanoff напиши у чат в ТГ t.me/google_sheets_GDS

  • @Photodron
    @Photodron Před 5 měsíci

    Привіт. Можливо підкажете як вирішити наступну задачу. Є таблиця, в ній два листа. На "Лист2" є стовпчик А з данними, з поточною датою в заголовку. На "Лист1" є таблиця з переліком дат в заголовках. Потрібно з "Лист2" скопіювати данні зі стовпчика А, на "Лист1" в стовпчик з відповідною датою. Скрипт чомусь не хоче шукати дату в форматі "dd.mm.yyyy" на "Лист1". Натомість шукає дату в форматі "Sun Feb 11 2024 00:00:00 GMT+0200 (Eastern European Standard Time). Відповідно не знаходить її, і не копіює дані. Якщо знаєте, підкажіть як пофіксити?

    • @this_is_data
      @this_is_data  Před 5 měsíci

      Добрий день, приводьте дату до спільного формату - Utilities.formatdate(new Date(назва Вашої зміноі), "GMT+2","dd-MM-yyyy")
      Також ще додатково раджу почитати про дату в програмуванні оскільки Ви скоріше за все пропустили базові речі, тому не ігноруйте це питання «колись потім розберусь» як показує практика не працює, на прикладі котрий я дам вище можете розібратись самостійно, що за що відповідає)

  • @user-ze2sl3we4c
    @user-ze2sl3we4c Před 2 lety

    а де ссилка на цю таблицю, з якою можна теж протестити даний скрипт і працювати на наступному відеоуроці??

    • @this_is_data
      @this_is_data  Před 2 lety

      Добрий день!
      Просто створіть нову) ця вже декілька разів змінилась - саме скрипт)

  • @vrto7551
    @vrto7551 Před 7 měsíci

    А де можна скачати цей скрипт?

    • @this_is_data
      @this_is_data  Před 7 měsíci

      Все просто - пишемо ручками)

    • @vrto7551
      @vrto7551 Před 7 měsíci

      @@this_is_data та написав по скрину але якась помилка. Лiпше в опис додати ссилку на гугл шит

    • @this_is_data
      @this_is_data  Před 7 měsíci +1

      @@vrto7551 я також так думав коли навчався)

  • @user-pe2zj2xb1m
    @user-pe2zj2xb1m Před rokem

    Доброго времени суток, как скопировать с формулой и с границами?

    • @this_is_data
      @this_is_data  Před rokem

      Зробіть дві дії:
      1. CTRL+C - що копіюєте - CTRL+V - куди вставляєте
      1. CTRL+C - що копіюєте - CTRL+A - куди вставляєте

    • @user-pe2zj2xb1m
      @user-pe2zj2xb1m Před rokem

      @@this_is_data Спасибо, я забыл написать в что как 'то в скрипте делается.

    • @user-pe2zj2xb1m
      @user-pe2zj2xb1m Před rokem

      @@this_is_data Разрешите я вам в телегу обращусь?

    • @this_is_data
      @this_is_data  Před rokem

      @@user-pe2zj2xb1m зрозумів, чесно кажучі не пам’ятаю, перегляньте технічну документацію, здається це DataValitation може інше, не пам’ятаю

    • @user-pe2zj2xb1m
      @user-pe2zj2xb1m Před rokem

      @@this_is_data Хорошо спасибо, придется как ни будь самому сделать) А так, хотел договориться)

  • @i.m_daria
    @i.m_daria Před 2 lety

    Ввела:
    "function SAVED(){
    let ss = SpreadsheetApp.getActiveSpreadsheet()
    let sTotal = ss.getSheetByName(`Total`)
    let IrTotal = sTotal.getLastRow()
    let totalRange = ssTotal.getRange(`A2:D`).getValues(
    Logger.log(IrTotal)
    }"
    Натиснула "Зберегти", висвітило: "Синтаксична помилка: SyntaxError: missing ) after argument list (рядок 6, файл Код.gs)".
    Не розумію в чому причина.

    • @this_is_data
      @this_is_data  Před 2 lety

      Привіт.
      Закрий дужку після GetValues()

    • @i.m_daria
      @i.m_daria Před 2 lety

      @@this_is_data дякую)

  • @cthutq00777
    @cthutq00777 Před rokem +1

    Добрий вечір, потрібна Ваша допомога:
    function SEVED() {
    let ss = SpreadsheetApp.getActiveSpreadsheet()
    let sTotal = ss.getSheetByName('Total')
    let lrTotal = sTotal.getLastRow()
    let totalRange = sTotal.getRange('A2:D'+lrTotal).getValues()
    let sArchive = ss.getSheetByName('Archive')
    let lrArchive = sArchive.getLastRow()
    sArchive.getRange(lrArchive+1,1,totalRange.length.totalRange[0].length).setValue(totalRange)
    Logger.log(lrArchive+1)
    При натисканні виконати видає таку помилку:
    Журнал выполнения
    22:35:02 Примечание Выполнение начато
    22:35:03 Ошибка
    TypeError: Cannot read property '0' of undefined
    SEVED @ SEVED.gs:9

    • @this_is_data
      @this_is_data  Před rokem

      Добрий ранок.
      Дивіться на останню строчку - це і вказано у помилці що Ви отримали SEVED.gs:9:
      1. totalRange.length між ними має бути кома у вас точка totalRange[0].length
      2. коли вставляєте дані Setvalue в Вашому випадку не підходить, необхідно використовувати setValues
      Ось коректний запис:
      sArchive.getRange(lrArchive+1,1,totalRange.length,totalRange[0].length).setValues(totalRange)

    • @cthutq00777
      @cthutq00777 Před rokem

      @@this_is_data Ура все запрацювало, дякую Вам за допомогу

    • @this_is_data
      @this_is_data  Před rokem

      @@cthutq00777 радий допомогти) підписуйтесь на канал, далі буде багато цікавої інформації)