Гугл Щитс - формула (задача добути інформацію з сміттєвої заявки)
Шукаю хорошого знавця регулярних виразів, який зміг би написати одне вираження (складне, звичайно) під всі відомі випадки.
Проблема: немає єдиного формату оформлення заявок і не буде - тому важливо через формулу витягувати вид авто з найгірших заявок.
Завдання 1 - доопрацювати формулу (формулу нижче наводжу) - її завдання в потоці сміттєвого тексту заявки визначити, який тип авто потрібен.
Формула, яка працює (але не враховує всі випадки):
=ARRAYFORMULA(
ЯКЩО(J2:J="";"";ЯКЩО(
(
REGEXMATCH(СТРОЧН(J2:J);"(^|[^0-9])10\s*т([^0-9]|$)|10т([^0-9]|$)|10\s*тон|десят")
*
REGEXMATCH(СТРОЧН(J2:J);"гідроборт|гидроборт|(^|[^а-яіїєґa-z])гб([^а-яіїєґa-z]|$)|(^|[^a-z])gb([^a-z]|$)|г\s*/\s*б")
)>0;"10Т";
ЯКЩО(
(
REGEXMATCH(СТРОЧН(J2:J);"(^|[^0-9])5\s*т([^0-9]|$)|5т([^0-9]|$)|пятитон|5/7|5тгб")
*
REGEXMATCH(СТРОЧН(J2:J);"гідроборт|гидроборт|(^|[^а-яіїєґa-z])гб([^а-яіїєґa-z]|$)|(^|[^a-z])gb([^a-z]|$)|г\s*/\s*б")
)
+
REGEXMATCH(СТРОЧН(J2:J);"5т\s*3\s*гб|5т\s*з\s*гб|5\s*т\s*з\s*гб|5т\s*гб")
>0;"5Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"верхн(є|е)\s*завантаж|верхн(яя|є)\s*загруз|верхня\s*загруз|верх\s");"10Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"(^|[^0-9])10\s*т([^0-9]|$)|10т([^0-9]|$)|10\s*тон|десят");"10Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"(^|[^0-9])7\s*т([^0-9]|$)|7т([^0-9]|$)|7-10");"7Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"(^|[^0-9])6\s*м([^0-9]|$)|6м([^0-9]|$)");"5Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"(^|[^0-9])5\s*т([^0-9]|$)|5т([^0-9]|$)|пятитон|5/7|5тгб");"5Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"(^|[^0-9])3\s*т([^0-9]|$)|3т([^0-9]|$)|тонік|3тгб");"3Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"(?:^|[^0-9])8\s*м(?:[^0-9]|$)|(?:^|[^0-9])8м(?:[^0-9]|$)");"10Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"(?:^|[^0-9])7\s*м(?:[^0-9]|$)|(?:^|[^0-9])7м(?:[^0-9]|$)");"7Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"газел|газель|авто|будка|фургон|тент");
ЯКЩО(
НЕ(REGEXMATCH(СТРОЧН(J2:J);"гідроборт|гидроборт|рокла"));"Газель"; // Виключаємо Газель, якщо є гідроборт або рокла
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"бус|бусик|минибус|мінік|миник|мини|максі|макси|середн(ій|ый)\s*бус");"Бус"; // Виключаємо Бус, якщо є гідроборт або рокла
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"авто\s*\+\s*2\s*вантажника|2\s*вантажника|авто\s*\+\s*вантажника|2\s*грузчика");" + грузчики"; // Для грузчиків
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"авто\s*\+\s*гідроборт\s*\+\s*рокла|авто\s*гідроборт\s*рокла|авто\+гідроборт\+рокла");"3Т"; // Для авто з гідробортом
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"Закрою\s*2200/600\s*\+200\s*гідроборт\s*\+\s*250\s*рокла");"5Т"; // Для інших випадків
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"Закрою\s*2200/600\s*");"5Т";
ЯКЩО(
REGEXMATCH(СТРОЧН(J2:J);"Закрою\s*2800");"10Т"; // Для 10Т
ЯКЩО( REGEXMATCH(СТРОЧН(J2:J);"авто\s*\+\s*2\s*вантажника|2\s*вантажника|авто\s*\+\s*вантажника|2\s*грузчика");" + грузчики"; // Для грузчиків
ЯКЩО(
І(
REGEXMATCH(СТРОЧН(J2:J);"гб|гиброборт|гідроборт")
;
НЕ(ИЛИ(REGEXMATCH(СТРОЧН(J2:J);"3т"); REGEXMATCH(СТРОЧН(J2:J);"Газель")))
);"3Т" // Для 3Т
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)

Відгук замовника про співпрацю з Andrii Andriiev
Гугл Щитс - формула (задача добути інформацію з сміттєвої заявки)Я вдячна Андрію за швидке та якісне вирішення моєї задачі, рекомендую до співпраці!
Відгук фрилансера про співпрацю з Мариєю Дзюбою
Гугл Щитс - формула (задача добути інформацію з сміттєвої заявки)Чудовий досвід співпраці. Марія чітко поставила задачу по регулярним виразам і прислухалася до пропозиції змінити архітектуру формули замість нагромадження умов. Швидка перевірка і оплата. Рекомендую!
-
300 2 0 Вітаю, Маріє. Розглянув ваш скріншот. Поява FALSE — це закономірний результат поточної архітектури формули. Вкладені умови (IF) мають "сліпі зони": якщо текст не підпадає під жорсткі критерії (наприклад, є "гідроборт", але немає тоннажу), ланцюжок переривається і формула ламається.
Моє рішення: Я перепишу цю формулу, використовуючи сучасні функції LET та IFS. Це дозволить нам не вкладати умови одна в одну, а задати чітку ієрархію перевірок:
Нормалізація: Спочатку очищаємо текст від сміття.
Визначення ознак: Окремо шукаємо маркери (Тоннаж, Гідроборт, Тип кузова).
Матриця рішень: Якщо "10т" — то 10Т. Якщо "Гідроборт" БЕЗ тоннажу — то присвоюємо дефолтний клас (наприклад, 5Т або Бус, як скажете).
Результат: Ви отримаєте стабільну формулу, яка не видає FALSE, легко читається і яку ви зможете доповнювати новими словами-тригерами самостійно, не ламаючи всю систему.
-
631 5 0 можу виконати, звертайтеся
-
986 12 1 Готовий оперативно та якісно виконати ваше замовлення. Маю досвід роботи з аналогічними проєктами, завжди дотримуюсь дедлайнів і технічного завдання. Буду радий співпраці!
-
973 17 0 Добрий день!
Можна AI доручити розпарсити заявку і виокремити авто) Або взагалі цей коментар розібрати на різні стовпчики. Буде працювати автоматично
-
Могу предположить, что для такой задачи правильнее использовать правила, в идеале с обучением и весами.
-
Думав над реалізацією Вашого проекту. Тут проблема в тому, що будь яка помилка в тексті - пропуск букви, опечатка - призводить до непрацездатності формули. А передбачити наперед, де, наприклад, в слові "гідроборт" зроблять помилку, досить проблематично. Тому найкращим рішенням буде все таки AI- сам буде шукати слова, вирази, інтерпретації слів, слова з помилками. І базу пошуку бота виправити буде значно легше ніж формулу. Якщо цікавить така реалізація - пишіть, проконсультую.
-
Актуальні фриланс-проєкти в категорії Javascript та Typescript
Шукаю досвідченого Full Stack розробника для створення SaaS-сервісу для інтернет-магазинів.Ідея сервісу: Клієнт завантажує посилання на свій товарний фід (XML або CSV). Сервіс автоматично отримує товари, бере їхні фотографії та створює нові рекламні зображення за готовими шаблонами: ціна, знижка, логотип, акційні плашки тощо. Також у сервісі має бути простий редактор… Javascript та Typescript, Веб-програмування ∙ 18 годин 45 хвилин тому ∙ 69 ставок |
Розробка WebGL/Three.js сцени з генерацією та експортом 3D (снапшот) з анімованого шейдераОпис об'єкта:Проект являє собою дизайнерський стіл, виконаний у формі реалістичного, глибокого водовороту (центральна воронка, яка плавно переходить з широкої горизонтальної стільниці в тонку витончену ніжку). Суть задачі:Потрібен WebGL / Creative Coding розробник для створення… Javascript та Typescript, Веб-програмування ∙ 1 день 15 годин тому ∙ 27 ставок |
Підтримка та розвиток сайту клінінгової компанії
906 UAH
Шукаю веб-розробника / вебмайстра для довгострокової підтримки та розвитку сайту клінінгової компанії. Сайт: https://donely.ca Про проєкт DoneLy Home Services — компанія з надання послуг прибирання в Канаді, яка активно розвивається та розширює географію роботи. Шукаю… Javascript та Typescript, Веб-програмування ∙ 3 дні 17 годин тому ∙ 63 ставки |
Розробка сайту по ТЗ на FramerПотрібно зробити сайт по цим параметрам що в тз https://docs.google.com/document/d/1ODO2C9Krb4AaMiJz9wfbNzWlAyA2FwCCHL8r0biajUY/edit?usp=sharing Називайте реальний рейт на основі цього дизайну HTML та CSS верстання, Javascript та Typescript ∙ 4 дні 18 годин тому ∙ 27 ставок |
Розробка інтерактивної карти Palworld для сайтуПотрібно розробити інтерактивну карту Palworld за прикладом: https://palworld.gg/map Нам потрібна не просто статична картинка, а повноцінна інтерактивна карта, де користувач може дивитися локації, вмикати / вимикати категорії об’єктів, шукати потрібні точки та взаємодіяти з… HTML та CSS верстання, Javascript та Typescript ∙ 6 днів 9 годин тому ∙ 36 ставок |