Страницы: 1 2 След.
RSS
Сортировка данных более 3х поездок на 1м маршруте в 10 минут, выделение данных
 
Доброго времени суток, начал заниматься Excel и сломал себе всю голову. Подскажите как выдедить номера карт по которым было совершенно более 3 поездок в течении 10 минут и менее минут на одном маршруте, при том что данные все в общем формате? Пример файла прилагаю. Пожалуйста помогите  
Изменено: Sanja - 16.05.2025 14:29:14
 
SlavyanZbl, Добрый день.
1. Предложите название темы согласно правил форума.
2. Т.е. поездок должно быть 4 или более? 3 не интересуют?
3. Полезно когда в файле есть такие случаи.
4. Когда данных много - "выдедить" долго и бестолково, т.к. УФ тормознутяа штука, красить макросом тоже не мнгновенно, я бы просто ставил метку в допстолбце, или отбирал их в отдельный список.
5. Данные нужно дорабатывать - номера карт должны быть текстом (хотя некритично если пропадут ведущие нули), а дата и время датой и временем (а не как сейчас текстом), и желательно в одном столбце - т.к. переход через полночь ведь не обнуляет эти 10 минут?
И такие данные тоже нужно показать.
Хотя если делать макросом - это преобразование данных можно включить в процедуру. Но лучше бы иметь уже готовый к анализу исходник.
6. Расположение данных гарантированно всегда будет такое, или их для надёжности нужно будет дополнительно так сортировать? Например если писать макрос - это полезно знать. Хотя пока особо алгоритм не продумываю, но как вариант можно идти от позиции в списке и проверять соседние записи.
 
Есть подозрение, что "тему" вас заставят сменить.

Цитата
SlavyanZbl написал:
Пожалуйста помогите

Частичная помощь №2

Цитата
SlavyanZbl написал:
при том что данные все в общем формате

1. Выделяете столбец с датами - "Найти и заменить" (Ctrl+H) - дефис заменить на / - ОК
2. Выделяете столбец с временем - "Найти и заменить" (Ctrl+H) - двоеточие заменить на двоеточие - ОК
3. По рекомендации в п.5 Hugo добавляете столбец, в котором объединяете дату и время простым сложением, затем "Формат ячеек" - "Время" (самый нижний формат)

Получили данные в нужных форматах.

Ждёте советов от знатоков формул или составляете их (формулы) самостоятельно.

Не знаю, как "автоматизировать" анализ ... но чтобы не терять время - можно сделать сортировку (настраиваемую) таблицы по "маршрутам" + "ДатаВремя", после этого в доп.столбце посчитать интервалы.
Изменено: Михаил Нарвич - 16.05.2025 12:18:12
 
Цитата
Hugo
1. Я новенький не понимаю как поменять название
2. 4 и более
3. в файле есть 3 примера строчек где 4 транзакции (строка 4-7, 10-13, 22-25)
4. Данных примерно 4к-5к строк, по идеи можно нужные данные выводить в отдельный лист или выделять или как угодно главное чтобы можно было видеть их в файле и проводить дальнейший анализ.
5. Полночь 10 минут не обнуляет, но и в полночь нет поездок. и лучше включить процедуру преоброзования данных в макрас т.к. строчек много в исходном файле
6. данные всегда на одном месте
Изменено: SlavyanZbl - 16.05.2025 13:49:13
 
Вы сами сменить название не сможете. Предложите (тут, в сообщении) новое название для Вашей темы, модераторы изменят. Кнопка цитирования НЕ для ответа, исправьте свое последнее сообщение. Спасибо
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Михаил Нарвич
Вариант интересный, но не много не правильный.
У тебя получается так, что сортировка делает упор на номер маршрута , а не номер карты. т.е. если на одном маршруте проехало 4 человека с разными картами я это увижу, а по сути такие поездки не интересны при дальнейшем аналезе.
нужно выявить 4 поездки по одной карте на одном и том же маршруте  
Изменено: SlavyanZbl - 16.05.2025 13:48:54
 
Новое название - Сортировка данных более 3х поездок на 1м маршруте в 10 минут
 
Цитата
SlavyanZbl написал:
Вариант интересный, но не много не правильный

Это, в общем-то, даже не вариант, т.к. при увеличении объёма данных "ручной анализ" - занятие унылое.
Я просто подготовил таблицу для тех, кто может придумать действительно хорошее решение.

Цитата
SlavyanZbl написал:
сортировка делает упор на номер маршрута, а не номер карты

Сортировка на то и "настраиваемая", чтобы настраиваться ... можно сделать "упор" на номер карты, а потом - на номер маршрута и т.д. (см. файл)
Но это всё ещё "решение" для таблицы размером с один экран монитора. Поэтому ждём настоящих решений!
Изменено: Михаил Нарвич - 16.05.2025 15:02:26
 
У вас данные всегда будут в рамках 1 суток? Или в там же ниже будет последующий день? Например, 01/04/2025 23:58:30 (1 поездка) и уже 02/04/2025 00:02:15 следующая... это считается как нужная последовательность? Или как в комментарии выше такой ситуации не может быть в принципе?
 
Михаил Нарвич а можно настроить сортировку так, если условие не выполняется больше 3 поездок на одном маршруте, то такие карты падали в низ,  а если условие соблюдается, то отображались на верху?
 
Цитата
написал:
Например, 01/04/2025 23:58:30 (1 поездка) и уже 02/04/2025 00:02:15
данные будут за месяц, пример: 1.01.2025 22.00 следущая 2.01.2025 5.00
Изменено: SlavyanZbl - 16.05.2025 15:15:30
 
Цитата
SlavyanZbl написал:
3. в файле есть 3 примера строчек где 4 транзакции (строка 4-7, 10-13, 22-25)
- и какую из карт в этих строках нужно помечать и почему?
Или нам самим придумывать записи которые нужно помечать?
 
Hugo ошибку понял, сорян, вот новый файл с примером
 
SlavyanZbl, как вариант для начала на этом файле, где время я вручную сделал временем через текст по столбцам:
Скрытый текст

Анализирую только время, но вообще и дату тоже нужно бы - вдруг время будет рядом, а дни разные? ))
Вместо сообщения можно номера карт собирать в коллекцию с ключём, и далее вывести куда-то без повторов.
Пока не вижу какой именно результат нужен.
 
Hugo пример 1 нужные даные выделяются цветом
Изменено: SlavyanZbl - 16.05.2025 16:08:53
 
пример 3 в сосднем столбце выводится информация подозрительная транзакция
 
пример 2 нужные данные копируются на 2 лист
 
Хотя вот добавил и даты, и коллекцию, кнопку и макрос в файл.
Даты и время вручную сперва обработал.
 
Цитата
SlavyanZbl написал:
нужные данные копируются на 2 лист
- дописал чуть код
 
Hugo на первый взгляд смотрится мощно и многообещающе.
открыл код и не понимаю, как код проверяет данные(типа не вижу названия столбцов A, B, C,D)  
Изменено: SlavyanZbl - 16.05.2025 16:26:08
 
Цитата
SlavyanZbl написал:
не вижу названия столбцов A, B, C,D
- там есть числа 1, 2, 3, 4.
И в последней версии осталось лишнее On Error Resume Next - это нужно было для коллекции когда отбирал уникальные номера.
Но не мешает.
 
Здравствуйте.
Вариант доп столбцом и сводной таблицей. При необходимости, дважды кликните на интересующую цифру.
 
gling интересно но фильтровать будет не удобно, есть возможность чтобы 5 переносилась на другие ячейки?
Изменено: SlavyanZbl - 16.05.2025 21:05:16
 
Hugo попробовал скопировать твой код в другой файлик вышла ошибка 1 (дату и время преоброзовал по этой инструкции)
Цитата
написал:
1. Выделяете столбец с датами - "Найти и заменить" (Ctrl+H) - дефис заменить на / - ОК 2. Выделяете столбец с временем - "Найти и заменить" (Ctrl+H) - двоеточие заменить на двоеточие - ОК
скопироавл преоброзованные даные в твой файл, код выдал следуещее
 
SlavyanZbl,  я забыл сказать - там ещё лист вручную добавил.
Можно его и кодом добавить, но я вручную сделал, так и осталось.
И ещё на результате формат вручную ставил, тоже можно в код добавить.
 
Цитата
написал:
чтобы 5 переносилась на другие ячейки
Кликните дважды на цифру 5 в закрашенных ячейках, в J14 или в M5. Сводную можно крутить по разному, в файле 2 варианта, пробуйте. Лист который создастся после двойного клика можно удалять, чтобы не загружать файл. Так как его можно вновь создать двойным кликом на число.
Изменено: gling - 16.05.2025 23:27:06 (Заменил файл)
 
Hugo проверил твой скрипт на полном объеме данных и он почему то пропускает по 1, 2 поездки, прикрепляю файл
такж же не много поправил код он теперь считает со 2й строки и доходит до последней
 
https://disk.yandex.ru/d/nGOctr87s3O8Rw ссылка на диск с файлом (он весит больше 300кб)
 
SlavyanZbl, код и так перебирал со второй строки и до последней, эти изменения без толку, отключите On Error Resume Next и увидите.
Ну а если нашли что пропускает - расскажите что, мне искать недосуг.
Вижу только что исходные данные не отсортированы. Т.е. не совпадает с тем, что показывали как пример. Я говорил про сортировку.
Но если говорите что на стыке дат поездок не будет - то и ладно, может так оставаться.
P.S. Кстати наверное лучше убрать обработку ошибок - из-за этого могут проскочить косячки, вижу что Вы вытянули на 3 строки больше.
Хотя признаю, нужно дорабатывать, тянет вероятно лишнее  - например вот эти строки:
74 30.04.2025 13:36:35 000002490
74 30.04.2025 13:45:00 000002490
74 30.04.2025 13:45:00 000002490
74 30.04.2025 13:52:59 000002490
Тут разница в 10 минут есть от 45 вниз и вверх, поэтому их две и вытягивает, а по сути не должно.
Нужно чуть скорректировать код - просматривать не 7 строк, а только 4, ну и вывод подправить...

Вот чуть доработал, проверьте.
Скрытый текст
Изменено: Hugo - 19.05.2025 00:26:29
 
Спасибо всем за помощь вы освободили мне кучу времени
тему можно закрывать
Страницы: 1 2 След.
Читают тему
Наверх