Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2011, 17:22   #1
Jacki
Новичок
Джуниор
 
Регистрация: 08.03.2011
Сообщений: 5
По умолчанию Как найти и подсчитать повторяющиеся строки?

Есть таблица 10 столбцов и множество строк (большой массив).

Нужно найти повторяющиеся строки, подсчитать кол-во повторов.
Jacki вне форума Ответить с цитированием
Старый 09.03.2011, 06:27   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ну, нашли... Посчитали... И куда девать результат?
Следующий макрос подсчитает количество повторяющихся строк в диапазоне "A1:J1000" (1000 строк, 10 столбцов) и количество повторов каждой строки поместит в столбец "K" в той же строке.
Код:
Sub Main()
    Dim i As Long, x As Range, y As Range, a(), b(), c(): Application.ScreenUpdating = False
    Set x = [A1:J1000]: a = x.Value: Set y = x.Offset(, x.Columns.Count).Resize(x.Rows.Count, 1)
    ReDim b(1 To UBound(a, 1), 1 To 1): c = b
    For i = 1 To UBound(a, 1): b(i, 1) = Join(Application.Index(a, i, 0), "|"): Next
    y.Value = b
    For i = 1 To UBound(b, 1): c(i, 1) = Application.CountIf(y, b(i, 1)): Next
    y.Value = c
End Sub
Если нужно, можно сделать пользовательскую функцию.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 09.03.2011 в 06:30.
SAS888 вне форума Ответить с цитированием
Старый 09.03.2011, 07:11   #3
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Хотя, твой код в теме от 04:54 возможно, автору и полезен был бы с небольшой правкой. Тут принципиально другой подход(и как всегда, красив), чем у меня.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 09.03.2011 в 07:22.
kuklp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти и подсчитать определенное знакосочетание 0mega Microsoft Office Excel 6 23.01.2010 16:31
нужен Select - нужно найти в поле A все повторяющиеся строки Нуреке SQL, базы данных 14 14.12.2009 10:25
Повторяющиеся строки в таблице Talemir БД в Delphi 2 20.08.2009 23:07
повторяющиеся строки ShenDy Общие вопросы C/C++ 4 27.03.2008 08:52
Удалить из Memo повторяющиеся строки Etar Компоненты Delphi 2 28.06.2007 18:34