Страницы: 1 2 След.
RSS
Как найти совпадение подряд чисел в столбце
 
Как найти совпадение подряд чисел в столбце???
Например: числа 8 3 2 идут попорядку (в одной строчке 8 во втрой 3 в третьей 2) и и как мне найти такое же совпадение в столбце??? В одной строчке 8 через пару строчек 3 через пару строчек 2------ мне такое не нужно!!!!!! Подскажите!! Буду очень благодарен!!!!
В каждой строчке однозначные и двухзначные числа и мне в этом столбце нужно найти совпадение не менее 3-х чисел подряд (желательно больше)!!!!!
2
11
8
3
2

25
34
27
31
29
14
8
3
2

11
25
8
32
3
15
17
2
Изменено: yaaan - 15.04.2013 01:14:52
 
Вам нужен конкретный набор чисел?
Совпадений может быть множество. Разных. 2 значения, три, пять...

Кросс
 
Здравствуйте!!! У меня есть столбец в нем 60 000 строк в каждой строчке однозначные и двухзначные числа и мне в этом столбце нужно найти совпадение не менее 3-х чисел подряд (желательно больше)!!!!!
Изменено: yaaan - 14.04.2013 23:53:08
 
и в каком виде вы желаете видеть результат таких поисков?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
vikttur мне нужен пока что совет!!! если сам не смогу то придеся просить у вас!!!
 
Цитата
vikttur пишет:
Кросс
не.
цвета-то разные.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki например что бы совпадение чисел были отмечены красным цветом. Может вы посоветуете как лучше?
 
Ребята а что значит кросс?
 
Если я не понятно объяснию!Переспросите пожалуйста!!!
 
Цитата
yaaan пишет:
Может вы посоветуете как лучше?
представления не имею. задача не моя.
но вариант
Цитата
yaaan пишет:
например что бы совпадение чисел были отмечены красным цветом
мягко говоря, плохой:
1) с последующим просмотром полученной разукрашки в 60000 строк сломаете глаза и вывихните мозг;
2) совпадающих последовательностей, скорее всего, будет не одна. и все - в красный цвет? а если они пересекаются?

и вообще - что надо-то, Зин?
найти таки самую длинную совпадающую последовательность?
или наиболее часто встречающуюся?
или все из 3-х и более чисел?

пс. мировоззренческий вопрос "а нафига всё это?" задавать не буду: знаю по опыту - это чревато.  :D
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
yaaan, не надо дублировать посты в мою личку.
если задача покажется интересной и осмысленной - я и так поучаствую, при наличии времени.
а нет - значит нет.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Найти наиболее длинную последовательность которая повторяется!!!!
 
ikki ок больше не буду!!!
 
ikki последовательность реально высчитать в excele или нужно писать программу?
 
Цитата
yaaan пишет: Во сфармулировал
это уж точно.
Цитата
yaaan пишет: найти наиболее длинную и наиболее часто встречающюю последовательность
это не одно и то же.
Вы бы уж определились, а?
(и кто кого встречает - тоже  :)  )

Цитата
yaaan пишет: нужно писать программу?
специалисты по формулам на форуме творят, конечно, чудеса.
но, набравшись наглости, я бы сказал - только программой. особенно с учетом неограниченной длины последовательности и большого объема данных.
но и программой... не очень представляю, насколько это реально...
задачка на комбинаторику, а я с ней с детства не в ладах.
но чувствую органом интуиции - вариантов придётся проверить примерно дофига. и хватит ли на это человеческой жизни - вопрос отнюдь не абстрактный.

пс. может, кто поумнее чего-нибудь подскажет... а то я кроме тупого перебора и представить ничего не могу. единственная идея - с учетом условия "однозначные или двузначные числа" - составить длинную супер-строку и задействовать InStr. на количество переборов, правда, это не повлияет...
Изменено: ikki - 15.04.2013 00:32:07
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
...а что значит кросс?
Правила, п.4.1
 
ikki спсибо буду че та думать!!
 
угум. хорошая идея. еслечо - дайте знать.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Частный случай, для уникальных последовательностей чисел (то есть 3,21,45,2,6 - уникальная, а 3,21,45,2,3,6 - нет, так как два раза повторяется 3.)
P. S. для 60000 у меня работает долго, около 10мин.
Изменено: anvg - 15.04.2013 10:15:20 (Добавил в формате 2003, а то и впрямь - неудобно вышло.)
 
мой черновичок. практически неоптимизированный.
ищет совпадения 3-х или более чисел.

пс. вариант anvg пока не видел - xl'2002
ппс. на 60000 тестировать желания нет. но подозреваю, что 10-ти минут не хватит.

upd. перевложил файл.
Изменено: ikki - 15.04.2013 10:22:40
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
anvg, да ничего страшного.
посмотрел результаты работы своего на данных Вашего.
понял, что мой "черновичок" надо дорабатывать. - проверять, нк является ли найденная последовательность правой частью одной из уже найденных...

а по скорости сравнить сложно - мой код с ячейками практически не работает, а это самая долгая часть.

пс. за модули классов - отдельное спасибо. надо посмотреть на досуге.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki
Ваш отработал на 10000 780сек, мой за 10сек. Можно, в принципе, мой код ускорить, ввести ссылки на совпадающие последовательности, а не перебирать все, коллекции заменить на типизированные массивы. Для себя, скорее всего переделал бы.
С другой стороны, ваш код выводит все варианты, а не только максимальные по длине.
Изменено: anvg - 15.04.2013 10:57:29
 
спасибо.
да я и не сомневался, что со строками - это медленно.
просто не знал, что настолько.
немного пошаманить, конечно, можно - заменить каждое число одним символом, строка укоротится втрое, Instr будет работать побыстрее, да и в коде арифметика станет чуть проще...
но сути это не изменит.

пс. зато за 15 минут написано  :D практически без участия головы.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
anvg и ikki Парни вы гении!!!! ikki только твоя табличка очень долго вычисляет я больше чем полтора часа не выдержал и завершил программу!!! anvg А возможно добавить в твою табличку ещё 2 столбца (что б мне долго не искать совпадения из 60000 строчек) в одном столбце -- совпадение а во втором --- количество совпадений и желательно по возрастнию? ikki или может ты что подскажешь?


например

378 --------2
478 --------4
3487 -------1
4782 -------2
23333 ------1
и т.д
Изменено: yaaan - 16.04.2013 01:17:47
 
Ещё Парни один самый главный вопрос!!!! Возможно ли высчитать спомощью excel алгоритм выпадение чисел на основе 46 859 строк?????? Например пусть excel проанализирует 46759 строк и высчитает ещё 100 (ХОТЯ БЫ 2) чисел (строк) которые должны идти после этих строк. Я скину вам файлик с этими числами. Если у вас получится то ваши числа должны совпать с последними 100 числами в файле. Во я вам задачку задал!!!  ;) Помогите пожалуйста!!!
Изменено: yaaan - 16.04.2013 01:14:05
 
yaaan
То ли день такой, то ли я тупой, ничего понять не смог. В файле бы пример помог. (пункт 2.3 правил)
Изменено: anvg - 16.04.2013 03:42:55
 
Аnvg здравствуйте!!!! Насчет таблицы которую вы создали она очень хорошая!!! Но не могли бы вы создать ещё с боку 2 столбца, чтоб в одном были максимальные подлине совпадения, а в другом столбце их количество. И если можно что б поскорее считала ! Прикрепляю файлик как я это представляю!!!
 
yaaan, вот Вам рабочий алгоритм:
прочитать название темы. Запомнить его. Вспомнить свой последний вопрос. Извлечь из памяти название темы и сравнить с вопросом. Сделать вывод.
 
vikttur извините!!! Понял)))))))))
 
yaaan
Совпадения по длине только одинаковые. Поскорее, как писал ранее - вместо создания объектов класса Sequence лучше создать типизированный массив, переделав методы ReadNext и Equal в нём в методы модуля, получающие индекс записи в этом массиве. "Болванка" у вас есть - допиливайте под себя.
Страницы: 1 2 След.
Читают тему
Наверх