Страницы: 1
RSS
Найти в столбце самую длинную цепочку из повторений чисел
 
Есть  файл в котором записаны на первый взгляд рандомно цифры (числа) от 1 до 3, но если сделать анализ, то бывает что не которые числа идут повтором друг за другом 9 и более раз, как узнать самую длинную цепочку в данном столбце...
в идеале хотелось бы получить столбец куда мы будем вставлять эту цепочку от 8 до 15 чисел,  столбец откуда берутся данные 35 тыс строк. итог какая последовательность была самой длинной и что получилось в итоге.

во вложении Excel файл с заданием, и как это должно выглядеть в моей голове, вообще такое возможно формулами или макросами решить?
 
Доброе время суток
Цитата
DJMC написал:
четкое задание
смелое заявление :)
Даны два столба последовательных чисел. Вы хотите наибольшую общую последовательность с шагом между позициями чисел в последовательности в единицу?
 
я хочу найти самую длинную цепочку, отбор числе должен идти снизу, то есть в задании дано:

2
1
1
3
3
1
2
1
1
1
2
1
3
1

цифры от 1 до 3, которые идут 14 раз, рядом решение, где встретилось 12 раз в такой последовательности заданные цифры:
то есть сначала программа ищет цепочку 1-3 находит ее условно 1000 раз
потом цепочку 1-3-1 находит ее уже 900 раз
и так пока не будет найдена последняя цепочка которая встретилась всего 1 раз. как в примере из файла это 1-3-1-2-1-1-1-2-1-3-3-1 это максимальная цепочка которая ранее встречалась в файле, и после нее была цифра 3
 
ниччёнепонимаю.........
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
Михаил Лебедев написал:
ниччёнепонимаю.........
Судя по этой теме, только Ігор Гончаренко способен понятьТСа.
Updated.
Пока Iгор не опередил. Версия на Power Query, как понял, поиск в наборе данных таблицы where данных what, выражаясь языком строк, наибольшей общей подстроки.
Изменено: Андрей VG - 18.09.2020 21:05:17
 
Самая длинная цепочка у меня на аватарке, когла я не в отпуске  :D
Изменено: БМВ - 18.09.2020 22:06:32
По вопросам из тем форума, личку не читаю.
 
Привет, на вид все что нужно, а чтобы работало, в Excel стандартном можно сделать, или нужно ставить дополнение Power Query
 
Цитата
DJMC написал:
в Excel стандартном
А какая версия Excel нынче считается стандартной - 95, 97, 2000, XP, 2003, 2007, 2010, 2013, 2016, 365?
 
ой, извините, я имел ввиду любую версию, где не нужно ставить дополнительные программы, у меня 2013 и 2016 версия.
 
DJMC, должно работать в 2016. Там PQ встроен по умолчанию.
Вот горшок пустой, он предмет простой...
 
мне пишет эти запросы были созданы с помощью более новой версии Excel или PQ...

Цитата
Андрей VG написал: поиск в наборе данных таблицы where данных what, выражаясь языком строк, наибольшей общей подстроки.
файл выглядит красиво, все именно так и должно быть, но не пойму почему когда вношу свои данные (через Excel 2016) ничего не меняется.
 
Цитата
DJMC написал: мне пишет
Это информационное сообщение, не более того. Если действительно не поддерживается, то запрос при обновлении выдаст ошибку, что не найдена функция такая-то.

Цитата
DJMC написал: ничего не меняется.
"Какие ваши доказательства?!"
Вот горшок пустой, он предмет простой...
 
Вот в файле, что то поменялось... но ответ на свой заданный вопрос в программе я не увидел, или тут проблема не в "зеркале" а в "роже" ?
 
Цитата
DJMC написал:
почему когда вношу свои данные (через Excel 2016) ничего не меняется.
Первое, не забывайте обновлять отчётную таблицу.
Второе, если результат вас не устраивает, то прикладывайте пример того что есть в what и where
 
Андрей VG

во вложении заполненная таблица, так как у меня есть и другие наработки, то тут должно было показать значение 3, после вот этих девяти цифр:
1
1
3
1
3
1
1
1
1

Но почему то показывает what -  0 idx-2268

в моем примере ответ

25412 - 1
25413 -1
25414 -3
25415 -1
25416 -3
25417 -1
25418 -1
25419 -1
25420 -1

25421 -3
вот как сделать так чтобы внося первые цифры  в столбец ищем четкое повторение чисел ниже в таком порядке получить сразу 25421 3
Изменено: DJMC - 21.09.2020 16:14:15
 
Цитата
DJMC написал:
получить сразу 25421 3
Нужно объяснение - почему? Далее
Цитата
DJMC написал:
цифры (числа) от 1 до 3,
что в вашем последнем примере делает 0? Где объяснения?
Далее, посмотрите что у вас на листе Лист3, с ячейки D2262 и сопоставьте со значениями в таблице what - объясните, что не так?
 
Добрый день!
Можно ещё макросом это сделать
Изменено: msi2102 - 22.09.2020 09:28:00
 
Цитата
msi2102 написал:
Можно ещё макросом это сделать
Отлично, то что нужно, большое спасибо.


Андрей VG
запутался сам же в своих тысячных формулах... 0 это пустая ячейка была, понял что их нужно удалять на будущее. Решение предложенное msi2102 меня полностью устроило, макросы наверное самое лучшее, но сложное для решения таких задач.
Изменено: DJMC - 22.09.2020 10:04:10
 
DJMC,
Не вдаваясь в нюансы Вашей задачи хочу спросить знакома ли Вам эта статья:
Самая длинная победная серия
Возможно идеи из нее позволят Вам взглянуть на свою задачу по-другому и найти новое удобное решение...
 
DJMC, обнаружил небольшую ошибку, заменил файл.
PS скопировал данные из Вашего файла на ячейке B21818 со значением #ССЫЛКА! выдает ошибку, нет времени дописывать, поэтому, если будет такая проблема, вручную исправите перед началом обработки (достаточно удалить #) и не проверял на сколько корректно ведет себя с пустыми ячейками, думаю лучше их тоже заменить. Если у Вас такая разношерстая база желательно, чтобы это было указано в файле примере сразу.
Изменено: msi2102 - 22.09.2020 10:51:16
 
Цитата
IKor написал:
Возможно идеи из нее позволят Вам взглянуть на свою задачу по-другому и найти новое удобное решение...
спасибо, данная статья мне знакома, но пока не нашел времени чтобы применить ее и понять ее полезность для меня. Я действую старомодным способом, в моей голове рождается какая нибудь идея, для меня математический  подход к играм, это как хобби. Я сначала это делаю в ручную и смотрю итоги, полезно ли это или нет, и если это полезно, пытаюсь как то автоматизировать этот процесс, чаще всего это простые формулы,  но в последнее время файл стал уже весить очень много, и простыми формулами уже не решить эти задачи, нужны более углубленные данные, а лучше целые макросы, но это уже мне кажется вопрос для конкретной работы, нежели помощь с формулами.

msi2102
еще раз спасибо, буду вникать во все это, и корректировать под себя, если вдруг будут ошибки.
 
Цитата
DJMC написал:
математический  подход
Спасибо, улыбнуло :)
 
я сначала когда всем об этом говорил, также все смеялись, но когда люди обращались ко мне и я за счет математики давал им прогноз, на основании их данных и они выигрывали деньги, мнения менялись.

Лучшее достижение, это ставка 2200 выигрыш 100 000 рублей, без анализа игр, просто математика. Ну и разумеется был и джек, если интересно могу скинуть ссылку на конкретный пост где проводил открытые тесты на специальных форумах и там видно, когда был сделан прогноз, до начала тиража и сколько составил выигрыш.
 
Цитата
DJMC написал:
это ставка 2200 выигрыш 100 000 рублей,
Ну всё, как будет крупный выигрыш ждём поляну  :D  
 
msi2102 как будет крупный выигрыш, я потрачу часть денег на создание софта, так как кучу разных эксель таблиц и макросов ужасно не удобно, и часто они  дают конфликты между собой, как увидите тему в разделе работы, значит выиграл что то крупное... но в любом случае спасибо, всем кто помогает в моих бредовых идеях.
 
Цитата
msi2102
обнаружил небольшую ошибку, заменил файл.
На конец то дошли руки вникнуть в макрос, возникли проблемы с отчетом... не понимаю как это работает

Во вложении отчет на лисет 1, итоговый показатель который я делал давно через формулы и он работает, минус в том что это занимает много времени.
а на листе 2, твой макрос... не пойму как он работает и что он показывает.

На первом листе :
то что ищем ввел значения 113232223
получил результат 0 - эта текущая цепочка, потом  2 - 1 - 2 то есть трижды встречалась цепочка 113232223 и после нее были такие показатели 212

На листе два тоже самое вроде как выводится, но получается именно номер строки как шло, а мне надо чтобы выводилось только то что было после,

Строка №1 надо чтобы получилась 11 цифры и в нее было внесено значение из строки 25844 ? это можно сделать со всеми 4 значениями которые были ? при условии, что если я считаю что это много значений, то я добавлю в начальную строку (тут любое число) 113232223 и на выходе уже будет не 4 столбца как на второй странице, а меньше.

P.S. понятно написал  мои хотелки? в файле сделал набросок как хотел бы все увидеть в итоге в каком виде
 
По исходной задаче из 1го сообщения:
Есть последовательность "случайных" чисел в количестве 35 тысяч
Нужно определить самую длинную цепочку последовательных чисел, которая встречается в наборе данных более одного раза

Есть решение макросом, которое на наборе данных в 35 тысяч определяет максимальную цепочку за разумное время (у меня считает на случайных числах 35К - 1,5 минуты, 10К - менее 10 секунд)
 
Большое спасибо, я уже думал тема умерла, как и остальные мои запросы, попробовал файл, на 35 тыс.
и остались вопросы:
1. как конкретно прописывать нужные мне комбинации  в поле RND я так понимаю нужно вносить?
2. на выходе мне хотелось бы видеть конечный результат, то есть к примеру данная цепочка была 9 раз и после нее был такой то результат.

Это можно сделать в ВАШЕМ макросе, или слишком много я хочу?
Страницы: 1
Наверх