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

Помочь с скриптом для Google Таблиц

Translated1600 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

Ищу опытного Full Stack разработчика для создания SaaS-сервиса для интернет-магазинов.

Идея сервиса: Клиент загружает ссылку на свой товарный фид (XML или CSV). Сервис автоматически получает товары, берет их фотографии и создает новые рекламные изображения по готовым шаблонам: цена, скидка, логотип, акционные плашки и т.д. Также в сервисе должен быть простой…

Javascript и TypescriptВеб-программирование ∙ 1 день 22 часа назад ∙ 82 ставки

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

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

Javascript и TypescriptВеб-программирование ∙ 2 дня 19 часов назад ∙ 30 ставок

Поддержка и развитие сайта клининговой компании

906 UAH

Ищу веб-разработчика / веб-мастера для долгосрочной поддержки и развития сайта клининговой компании. Сайт: https://donely.ca О проекте DoneLy Home Services — компания по предоставлению услуг уборки в Канаде, которая активно развивается и расширяет географию работы. Ищу…

Javascript и TypescriptВеб-программирование ∙ 4 дня 21 час назад ∙ 64 ставки

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

Необходимо сделать сайт по этим параметрам, что в ТЗ https://docs.google.com/document/d/1ODO2C9Krb4AaMiJz9wfbNzWlAyA2FwCCHL8r0biajUY/edit?usp&#61;sharing Назовите реальный рейд на основе этого дизайна

HTML и CSS версткаJavascript и Typescript ∙ 5 дней 22 часа назад ∙ 29 ставок

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

Необходимо разработать интерактивную карту Palworld по примеру: https://palworld.gg/map Нам нужна не просто статическая картинка, а полноценная интерактивная карта, где пользователь может смотреть локации, включать / выключать категории объектов, искать нужные точки и…

HTML и CSS версткаJavascript и Typescript ∙ 7 дней 13 часов назад ∙ 36 ставок

Заказчик
Проект опубликован
11 месяцев 19 дней назад
11 месяцев 17 дней
325 просмотров
Метки
  • javascript
  • Spreadsheet
  • Google Sheets