|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
17.08.2010, 18:25 | #1 |
Заблокирован
Регистрация: 17.08.2010
Сообщений: 39
|
Сравнение столбцов в Excel
Есть N листов.
В каждом листе столбец А содержит N строк Надо. 1. найти пересечение всех столбцов между собой (например из 1000 строк листа 1 с листом 2 пересекаются 200, а с листом 3 - 900) 2. посчитать все это и скопировать столбцы на отдельный лист в порядке убывания пересечений Такое вообще можно сделать? На MS нашел скриптик Sub Find_Matches() Dim CompareRange As Variant, x As Variant, y As Variant ' Назначьте переменной CompareRange диапазон, с которым ' нужно сравнить выделенный диапазон. Set CompareRange = Range("C1:C5") ' Примечание. Если диапазон ячеек, с которыми нужно сравнить выделенные ячейки, ' относится к другой книге или другому листу, используйте приведенный ниже синтаксис. ' Set CompareRange = Workbooks("Book2"). _ ' Worksheets("Sheet2").Range("C1:C5") ' ' В следующем цикле каждая выделенная ячейка сравнивается ' с каждой ячейкой из диапазона CompareRange. For Each x In Selection For Each y In CompareRange If x = y Then x.Offset(0, 1) = x Next y Next x End Sub Но он медленный и нехватает мозга его докрутить :-( |
17.08.2010, 19:11 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
А зачем вам макрос? Тут и формулы, скорее всего, справятся.
И где пример файла? --------- добавлено позже, - вдруг кому пригодится -------------- Цитата:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 30.09.2013 в 09:23. |
|
17.08.2010, 19:12 | #3 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Пересечение-это наличие одинаковых значений в ячейках.
В отдельно взятом столбце есть повторения значений. Меряться только с первым листом-будет N-1 сравнений ,или N*(N-1)/2
Анализ,обработка данных Недорого
|
17.08.2010, 21:31 | #4 |
Заблокирован
Регистрация: 17.08.2010
Сообщений: 39
|
Во блин спросили ;-)
1. внутри столбца повторений нет. сверяться будут N*(N-1)/2 только не понял зачем разделить на 2 ? т.е. есть 10 листов каждый лист(столбец) сверяется с 9 остальными т.е. получается 10*(10-1) сравнений При этом необходимо что бы запоминались значения пересечений... и стоилась таблица из столбцов 10 листво в порядке убывания пересечений... + сводная табличка - название листа - его значение пересечения с последоваелем Ну и кол-во листов надо что бы определялось автоматически ;-) Наверное для Excell это космос ;-( Последний раз редактировалось Laa911; 17.08.2010 в 21:52. |
17.08.2010, 21:44 | #5 |
Заблокирован
Регистрация: 17.08.2010
Сообщений: 39
|
|
18.08.2010, 01:05 | #6 | ||
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Цитата:
И что теперь делать Цитата:
вы же не будете сравнивать лист1 лист 3,а потом опять лист3 с листом1. Поэтому делиться на 2
Анализ,обработка данных Недорого
|
||
18.08.2010, 09:00 | #7 |
Заблокирован
Регистрация: 17.08.2010
Сообщений: 39
|
По поводу повторов - этого быть не должно видимо глюк программмы для подсчета частоты слов... ну это не сложно можно убить по кнопке удалить дубликаты
По поводу кол-ва. при сравнение столбца 1 и 3 и 3 и 1 можно вычислить что в столбце 1 слов входящих в столбец 3 меньше если сравнить столбец 3 и столбец 1 то может оказаться что слов входящих из столбца 3 в столбец 1 больше. Ну например.. столбец 1 короче чем столбец 3 (как вариант) поэтому мне кажется делить на 2 не надо :-) так как здесь на мой взгляд нужно именно количество комбинаций (т.е. без деления на 2) :-) Последний раз редактировалось Laa911; 18.08.2010 в 09:02. |
18.08.2010, 11:08 | #8 |
Заблокирован
Регистрация: 17.08.2010
Сообщений: 39
|
Нампример если сравнивать два первых листа
то Twilight1 в HoneyMoon - 3571 (слов) а HoneyMoon в Twilight1 - 1580 (слов) Соттвественно 1. Twilight1 - №1 2. HoneyMoon - №2 А общее пересечение будет 1580 Спасибо вашим комментариям, пришло понимание что задач две 1. посчитать общие пересечения между всеми столбцами ( но с увеличемем столбцов(листов) это значение будеть падать?) Но если сделать только п.2 то общее пересечение будет равно столбцу с наменьшим вхождением. получается что последователь всегда будет иметь пересечение с преджшественником на кол-во своих вхождение.. т.е. это делать не надо.. нужен только П.2. 2. посчитать вхождения всех строк между всеми столбцами (это не пересечения?) n*(n-1) И отсортировать в порядке убывания вхождений. Скрипт котоый был выше на 10 000 строк считал всю ночь и умер :-( Брал его отсюда с MS http://support.microsoft.com/kb/213367 Видимо нужен какой то мега скрипт ;-) Последний раз редактировалось Laa911; 18.08.2010 в 11:28. |
18.08.2010, 14:31 | #9 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Я до конца не понял.как должен выглядеть результат.Если как лист ПЕРЕСЕЧЕНИЯ,то надо1-2 минуты для получения данного результата.
Анализ,обработка данных Недорого
|
18.08.2010, 14:34 | #10 |
Заблокирован
Регистрация: 17.08.2010
Сообщений: 39
|
Да
1 столбец из столбца который максимально входит во все 2 столбец из столбца который максимально входит во все но меньше чем первый.. и т.д. ну если это будет 1-2 минуты супер.. но не верю я в чудеса :-) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение двух столбцов в разных книгах | LAnLorD | Microsoft Office Excel | 132 | 17.05.2022 08:16 |
Сравнение в Excel | whiteguru | Microsoft Office Excel | 3 | 06.07.2010 11:23 |
сравнение столбцов в Excel и подстановка значений | Oleg77 | Помощь студентам | 2 | 06.02.2010 03:09 |
stringgrid,сравнение двух столбцов на совпадения и не совпадения | betirsolt | БД в Delphi | 7 | 19.01.2010 15:09 |
Сравнение 2 столбцов и удаление повторяющегося из второго столбца | ildusfm | Microsoft Office Excel | 3 | 07.05.2009 09:09 |