Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Розмістіть свій проєкт безплатно та почніть отримувати пропозиції від фрилансерів-виконавців уже через хвилини після публікації!

Допомогти з скриптом для гугл таблиць

1600 UAH

Результати роботи

Перегляд вкладень доступний тільки зареєстрованим користувачам.

Відгук замовника про співпрацю з Артемом К.

Якість
Професіоналізм
Вартість
Контактність
Терміни

Артем добре впорався з завданням в Apps Script, все функціонує як треба, охоче відповідав на питання та комунікував! Сподіваємося на продовження співпраці у майбутньому! Рекомендуємо виконавця!

Відгук фрилансера про співпрацю з Катериною Тимофеєнко

Оплата
Постановка завдання
Чіткість вимог
Контактність

Дякую Катерині за співпрацю, чемний та уважний до деталей замовник, проект цікавий. Рекомендую.

  • Виталий Мациборка
    4 липня 2025, 22:56 |

    Доброго. А вам потрібно все це в таблиці загнати? 

  • Oleh Dovhopolyi
    5 липня 2025, 7:15 |

    Доброго дня, так, можете надати csv або xls файли для роботи. А я потім експортую їх назад

  • Oleh Dovhopolyi
    5 липня 2025, 7:18 |

    Давайте краще в тг спишемось ? Бо тут можу через роботу не бачити відповідь. @Mr_Ambal

  • Oleh Dovhopolyi
    5 липня 2025, 7:20 |

    Або ви можете надати посилання на Google Таблицю з можливістю редагування, а також, якщо ви працюєте через Google Sheets API — доступ до нього.

    Спросить ChatGPT

  • Oleh Dovhopolyi
    5 липня 2025, 8:05 |

    🎯 Система матчинга пользователей - Техническое описание

    💻 Технологический стек:

    Основной язык: JavaScript (ES6+)
    Платформа: Google Apps Script
    База данных: Google Sheets
    Среда выполнения: Google Cloud Platform

    🏗️ Архитектура решения:

    Серверная часть:

    • Google Apps Script - облачная JavaScript среда
    • Класс UserMatcher - основная логика алгоритма
    • Event-driven архитектура - функции вызываются по событиям

    Хранение данных:

    • Google Sheets как NoSQL база данных
    • Структурированные колонки с типизированными данными
    • Автоматическое обновление истории и результатов

    Пользовательский интерфейс:

    • Кастомное меню в Google Sheets
    • Модальные окна для отображения результатов
    • Автоматические уведомления о статусе операций

    🔧 Ключевые технические решения:

    1. Объектно-ориентированное программирование: 

    class UserMatcher {

      constructor(users) {

        this.users = users;

        this.pairs = [];

        this.unpaired = [];

      }

  • Oleh Dovhopolyi
    5 липня 2025, 8:07 |

    2. Функциональное программирование:

    • Методы высшего порядка (filter, map, sort)
    • Чистые функции без побочных эффектов
    • Иммутабельность данных

    3. Алгоритмические решения:

    • Жадный алгоритм для геолокации
    • Алгоритм максимального веса для общих тегов
    • Алгоритм Фишера-Йетса для рандомизации

    📊 Структура данных:

    Входные данные (Google Sheets): 

    {

      id: Number,           // Уникальный идентификатор

      name: String,         // Имя пользователя  

      location: String,     // Геолокация

      tags: Array<String>,  // Массив интересов

      pastPairs: Array<Number> // История пар

    }  Выходные данные: 

    {

      pairs: Array<[User, User]>,  // Массив пар

      unpaired: Array<User>        // Непарные пользователи

    🎲 Алгоритм матчинга:

    Сложность: O(n²) для этапа тегов, O(n log n) общая
    Память: O(n) дополнительной памяти

    Этапы алгоритма:

    1. Группировка по геолокации - O(n)
    2. Сортировка по потенциальным парам - O(n log n)
    3. Матчинг по общим тегам - O(n²)
    4. Случайное распределение - O(n)

    ⚙️ Google Apps Script интеграция:

    Триггеры и события:

    javascriptfunction onOpen() {
      // Создание пользовательского меню
      SpreadsheetApp.getUi().createMenu()
    }

    Работа с Google Sheets API:

    javascriptconst sheet = SpreadsheetApp.getActiveSheet();
    const data = sheet.getRange().getValues();
    sheet.getRange().setValues(results);

    Обработка ошибок:

    javascripttry {
      // Основная логика
    } catch (error) {
      Logger.log('Ошибка: ' + error.toString());
      SpreadsheetApp.getUi().alert('Ошибка', error.message);
    }

    🚀 Особенности реализации:

    Оптимизации:

    • Кэширование результатов в памяти
    • Минимизация обращений к Google Sheets API
    • Пакетная обработка данных

    Масштабируемость:

    • Поддержка до 1000+ пользователей
    • Линейное время выполнения
    • Эффективное использование памяти

    Надежность:

    • Валидация входных данных
    • Обработка edge cases (нечетное количество)
    • Логирование всех операций

    📈 Метрики производительности:

    • Время выполнения: ~2-5 секунд для 100 пользователей
    • Память: ~1MB для обработки данных
    • API вызовы: Минимизированы через batch operations

    🔄 CI/CD и деплой:

    Среда разработки: Google Apps Script Editor
    Версионирование: Git + Google Apps Script встроенный контроль
    Деплой: Автоматический через Google Cloud Platform
    Мониторинг: Google Apps Script Dashboard + Custom логирование https://docs.google.com/spreadsheets/d/1wFdR9t0BKfSGj418PrFMu8SmSc1GD5oiYMxYByKTHLA/edit?usp=sharing

  • Виталий Мациборка
    6 липня 2025, 0:48 |

    Я предлагаю тщится в Привате. У меня есть предложение как это все реализовать. Но это лучше обсуждать не тут. 

  • Oleh Dovhopolyi
    6 липня 2025, 13:22 |

    Вы заказчик?

Актуальні фриланс-проєкти в категорії Javascript та Typescript

Розробка WebGL/Three.js сцени з генерацією та експортом 3D (снапшот) з анімованого шейдера

Опис об'єкта:Проект являє собою дизайнерський стіл, виконаний у формі реалістичного, глибокого водовороту (центральна воронка, яка плавно переходить з широкої горизонтальної стільниці в тонку витончену ніжку). Суть задачі:Потрібен WebGL / Creative Coding розробник для створення…

Javascript та TypescriptВеб-програмування ∙ 10 годин 46 хвилин тому ∙ 18 ставок

Підтримка та розвиток сайту клінінгової компанії

906 UAH

Шукаю веб-розробника / вебмайстра для довгострокової підтримки та розвитку сайту клінінгової компанії. Сайт: https://donely.ca Про проєкт DoneLy Home Services — компанія з надання послуг прибирання в Канаді, яка активно розвивається та розширює географію роботи. Шукаю…

Javascript та TypescriptВеб-програмування ∙ 2 дні 12 годин тому ∙ 59 ставок

Розробка сайту по ТЗ на Framer

Потрібно зробити сайт по цим параметрам що в тз https://docs.google.com/document/d/1ODO2C9Krb4AaMiJz9wfbNzWlAyA2FwCCHL8r0biajUY/edit?usp=sharing Називайте реальний рейт на основі цього дизайну

HTML та CSS верстанняJavascript та Typescript ∙ 3 дні 13 годин тому ∙ 27 ставок

Розробка інтерактивної карти Palworld для сайту

Потрібно розробити інтерактивну карту Palworld за прикладом: https://palworld.gg/map Нам потрібна не просто статична картинка, а повноцінна інтерактивна карта, де користувач може дивитися локації, вмикати / вимикати категорії об’єктів, шукати потрібні точки та взаємодіяти з…

HTML та CSS верстанняJavascript та Typescript ∙ 5 днів 4 години тому ∙ 35 ставок

Розробка платформи AM Mobility (автосервіс, парковка, страхування, оренда автомобілів)

257 282 UAH

Шукаємо команду або досвідченого Full Stack розробника для створення MVP платформи AM Mobility. AM Mobility — це єдина цифрова екосистема для автомобілістів, що об'єднує в одному додатку та веб-платформі: парковку; автосервіс; шиномонтаж; автомийку; оренду автомобілів;…

Javascript та TypescriptВеб-програмування ∙ 10 днів 10 годин тому ∙ 119 ставок

Замовник
Проєкт опублікований
11 місяців 16 днів тому
11 місяців 14 днів
325 переглядів
Мітки
  • javascript
  • Spreadsheet
  • Google Sheets