Або ви можете надати посилання на Google Таблицю з можливістю редагування, а також, якщо ви працюєте через Google Sheets API — доступ до нього.
Pomóc z skryptem do arkuszy Google
To baza ludzi (Google tabelka), gdzie zapisani są dane użytkowników. Trzeba co tydzień dzielić użytkowników na pary, tak aby każdemu przypisać swoją parę, przy tym aby pary się nie powtarzały i aby nie dobierać poprzedniej pary (jest osobna kolumna z poprzednimi parami).
Matching odbywa się najpierw według kryteriów geolokalizacji (ci, którzy mają taką samą), potem wszystkie pozostałe między sobą według liczby wspólnych tagów. - to jest już zaimplementowane - trzeba sprawdzić, czy wszystko jest poprawnie (działa, ale nie uruchamialiśmy tego wiele razy, może będzie łatwiej napisać od nowa od zera)
Trzeba dodać - matching tych, którzy nie mają wspólnych tagów - aby ich losowo łączyło ze sobą
Plik z rezultatem
Opinia zleceniodawcy o współpracy z Artem K.
Pomóc z skryptem do arkuszy GoogleArtem dobrze poradził sobie z zadaniem w Apps Script, wszystko działa jak trzeba, chętnie odpowiadał na pytania i komunikował się! Mamy nadzieję na kontynuację współpracy w przyszłości! Polecamy wykonawcę!
Opinia freelancera o współpracy z Katerina Tymofeienko
Pomóc z skryptem do arkuszy GoogleDziękuję Katarzynie za współpracę, uprzejmy i dokładny klient, projekt interesujący. Polecam.
-
Доброго. А вам потрібно все це в таблиці загнати?
-
Доброго дня, так, можете надати csv або xls файли для роботи. А я потім експортую їх назад
-
Давайте краще в тг спишемось ? Бо тут можу через роботу не бачити відповідь. @Mr_Ambal
-
Спросить ChatGPT
-
🎯 Система матчинга пользователей - Техническое описание
💻 Технологический стек:
Основной язык: 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 = [];
}
}
-
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) дополнительной памятиЭтапы алгоритма:
- Группировка по геолокации - O(n)
- Сортировка по потенциальным парам - O(n log n)
- Матчинг по общим тегам - O(n²)
- Случайное распределение - O(n)
⚙️ Google Apps Script интеграция:
Триггеры и события:
javascript
function onOpen() { // Создание пользовательского меню SpreadsheetApp.getUi().createMenu() }Работа с Google Sheets API:
javascript
const sheet = SpreadsheetApp.getActiveSheet(); const data = sheet.getRange().getValues(); sheet.getRange().setValues(results);Обработка ошибок:
javascript
try { // Основная логика } 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 -
Я предлагаю тщится в Привате. У меня есть предложение как это все реализовать. Но это лучше обсуждать не тут.
-
Aktualne zlecenia dla freelancerów w kategorii Bazy danych i SQL
Dashboard na Dune AnalyticsReferencja stylu: dune.com/filarm/polymarket-activity Zadanie Zebrać schludny, wizualnie przyjemny dashboard na Dune dla naszego bota do Polymarket. Na tym etapie używane są dane demonstracyjne (syntetyczne) — generowane programowo, ale wyglądają logicznie i wiarygodnie, w… Bazy danych i SQL ∙ 2 godziny 13 minut temu ∙ 1 oferta |
Power BI
58 PLN
Dashboard działa na serwerze Google, trzeba przenieść całą logikę + kod Jakie umiejętności są potrzebne: wdrażanie procesów ETL na serwerze Linux + praca z BigQuery i Postgre Jest działający kod, który działa na Google, gdzie znajduje się sama baza danych, trzeba przenieść na… Python, Bazy danych i SQL ∙ 20 godzin 39 minut temu ∙ 13 ofert |
Potrzebny specjalista 1C do poprawek i rozwojuSzukam specjalisty z 1C do współpracy na freelansie. Obecnie już współpracuję z wykonawcą, który zapewnia wsparcie i obsługę systemu 1C. Jednak z powodu obciążenia wykonawcy pojawia się potrzeba szybkiego wykonania dodatkowych zadań, poprawek oraz opracowania nowej… Bazy danych i SQL ∙ 2 dni 20 godzin temu ∙ 11 ofert |
Przywracanie Instagrama po zablokowaniu3 marca 2026 r. zablokowano Instagram z powodu naruszenia zasad. Uważam, że doszło do jakiegoś błędu, ponieważ strona była osobista z zdjęciami i filmami z prywatnych podróży. Nie pisałam komentarzy ani niczego innego. Wysłałam kilka razy odwołanie. Nie mogę pobrać swoich… Bazy danych i SQL, Programowanie stron internetowych ∙ 3 dni 7 godzin temu ∙ 5 ofert |
Usunąć problem niepełnego importu danych z plików Excel specyfikacji Nowej Poczty do 1C:
166 PLN
Cel: Istnieje przetwarzanie w 1C dotyczące ładowania specyfikacji Nowej Poczty. Z nieznanych powodów przestało ładować niektóre dane tabelaryczne. Należy znaleźć przyczynę i usunąć problem niepełnego importu danych z plików Excel specyfikacji Nowej Poczty do 1C: Mały Biznes.… Administracja systemem i siecią, Bazy danych i SQL ∙ 6 dni 14 godzin temu ∙ 16 ofert |