powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как макросом убрать повторяющиеся строки EXCEL
25 сообщений из 89, страница 3 из 4
как макросом убрать повторяющиеся строки EXCEL
    #34121054
SvIva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку... Уважаемый KL (XL), извини за плохое воспитание. Спасибо за ответ.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34121159
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 SvIva

SvIvaПравильно ли я поняла, что формулы массивов всегда медленнее single формул ?Да и нет, сложно сравнивать, так как в известном смысле формула массивов это n-ое кол-во "single" формул в одной ячейке. Например:

={СУММ(A1:A5*2)}

эквивалентна:

=A1*2
=A2*2
=A3*2
=A4*2
=A5*2
=СУММ(B1:B5)


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

в каждой ячейке с нашей мега-формулой существет выражение СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ЧСТРОК(data))) (да еще дважды) генерируещее некий стандартный массив из которого берется лишь один заранее известный элемент.

SvIvaИз твоих предыдущих ответов на разные темы я поняла, что любые формулы листа быстрее кода. Так ли это? Давай таки будем сравнивать яблоки с яблоками. Формула массива в некотором роде подобна циклу в VBA - повтор однотипных операций с переменными. Каждая операция в отдельности намного быстрее в формулах так как они компиллируются в С. Вопрос в том, использует ли соответствующий код VBA тот же алгоритм или нет. Ответ - нет. Расширенный фильтр использует намного более эффективный алгоритм (сходный с бинарным поиском + SmartCalc) и как таковой, если не ошибаюсь, скомпиллирован в С.

SvIvaФормулы Уокенбаха надо разбирать для понимания использования функций, но не применять их ?Ну это совсем абсурдное утверждение. По-моему, я ясно дал понять, что речь о конкретной формуле. В любом случае, книги Джона дают лишь поверхностное понятие о формулах массива, и для более глубокого их изучения, я всегда рекомендую след. имена:

Bob Umlas: http://www.emailoffice.com/excel/arrays-bobumlas.html
Laurent Longre: http://xcell05.free.fr/
Harlan Grove: поиск в microsoft.public.excel.worksheetfunctions
Aladin Akyurek: поиск в http://www.mrexcel.com/
Bob Philips: http://www.xldynamic.com/source/xld.SUMPRODUCT.html

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #34121368
SvIva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL), большое спасибо за развернутый ответ.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
как макросом убрать повторяющиеся строки EXCEL
    #36744521
Здравствуйте,а как можно сделать так:
Есть два столбца,в первом позиционные обозначения(C1,C2,,,Cn, DA1,Da2,....и т.п.),во втором -номиналы элементов
Как есть(пример):
C1 K10-73-1
C2 K10-73-1
C3 ECR 25V
C4 ECR 50V
C5 ECR 50V
C6 K10-73-1
C7 K10-73-1
С8 K10-73-1
C9 ECR 25V
C10 ECR 50V

Как должно быть:
C1, C2 K10-73-1
C3 ECR 25V
C4, C5 ECR 50V
C6...C8 K10-73-1
C9 ECR 25V
C10 ECR 50V

т.е. поиск и удаление до первых повторяющихся фраз, и оставление одной. Те же фразы могу повторяться через любое кол-во строк.Нужно сделать тоже самое - удалить все из этих ПОДРЯД повторяющихся и оставить только одну.
Заранее благодарен
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36744903
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость_гость_гость,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function concat(ran As Range, id As String) As String
'ran - диапазон, в котором проверяются значения ( первый столбик ID, второй Value)
'id - название по которому будем группировать значения
concat = ""
For i =  1  To ran.Rows.Count
    If id = ran.Cells(i,  2 ) Then
        If concat = "" Then
            concat = concat & ran.Cells(i,  1 ).Value
            Else
            concat = concat & ", " & ran.Cells(i,  1 ).Value
        End If
    End If
Next i

функция объединит позиционные значения по номиналам элементов, а дальше удалить лишние строки думаю не будет проблемой
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36744908
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortik,
1 столбик - позиционные значения 2- номиналы
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36744911
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а повторяющиеся строки можно например удалить с помощью сводной таблицы, а если excel 2007 - там и функция такая уже есть
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36745193
fortikГость_гость_гость,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function concat(ran As Range, id As String) As String
'ran - диапазон, в котором проверяются значения ( первый столбик ID, второй Value)
'id - название по которому будем группировать значения
concat = ""
For i =  1  To ran.Rows.Count
    If id = ran.Cells(i,  2 ) Then
        If concat = "" Then
            concat = concat & ran.Cells(i,  1 ).Value
            Else
            concat = concat & ", " & ran.Cells(i,  1 ).Value
        End If
    End If
Next i

функция объединит позиционные значения по номиналам элементов, а дальше удалить лишние строки думаю не будет проблемой

не работает
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36745407
fortik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость_гость_гость,
забыл end function
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36871625
000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
000
Гость
Подскажите,пожалуйста,как сравнить 2 колонки с данными и удалить НЕодинаковые?
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36894906
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
000Подскажите,пожалуйста,как сравнить 2 колонки с данными и удалить НЕодинаковые?Если я понял о чем речь.
То к примеру, если данные в столбцах A и B,
то в ячейку C устанавливаем формулу A1=B1
Затем эту формулу протягиваем вниз вдоль данных.
Потом заменяем формулы на значения.
После устанавливаем фильтр и по столбцу C выбираем те, где ложь
Эти строки удаляем.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36908722
Тоже не мог долго понять, как это сделать. Разобрался, пасиба. =)
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36989791
LDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LDS
Гость
Ребята, я нуп и опозорился,
апну темку с 2003 года:

Темка очень интересная и полезная, всем спасибо, но лично мне этого маловато, есть производственная необходимость:
давайте чуть чуть усложним задачу: сделаем так, чтобы каждая удаленная строка добавляла к неудаленной уникальной строке количество содержащееся в ней: покажу на примере:

Есть массив с тучей строк вида:

Наименование / количество
маша 1
федя 1
вася 1
вася 1
петя 1
маша 2
маша 1
федя 4


А на выходе должно получиться вот что:

Наименование / количество
маша 4
федя 5
вася 2
петя 1

Сортировка значения не имеет.
Помогите пожалуйста, нужен макрос.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #36989837
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LDS,
лучше пример реальных данных
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37020097
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LDS,

это можно реализовать через создание свода.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37020124
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37036338
ryletsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon PlayerLDS,

это можно реализовать через создание свода.
простите, свод, это реализация в exel`e?
нельзя ли поподробней.
так как пример предложенный Гость_гость_гость выбора по одному столбцу всех дубликатов и их сложение по второму столбцу очень интересна.
Спасибо заранее
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37036607
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortik...если excel 2007 - там и функция такая уже естьЧто за функция?
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37037443
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ryletskyDjon PlayerLDS,

это можно реализовать через создание свода.
простите, свод, это реализация в exel`e?
нельзя ли поподробней.
так как пример предложенный Гость_гость_гость выбора по одному столбцу всех дубликатов и их сложение по второму столбцу очень интересна.
Спасибо заранееВот гляньте пример.
Из-за ограничения по размеру загружаемых файлов, пришлось создать архив из нескольких частей:
"Создание сводной таблицы в картинках.part1.rar" и "Создание сводной таблицы в картинках.part2.rar".
В этом сообщении выкладываю первую часть.
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37037446
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот вторая часть.
Поместите оба архива в одну папку и откройте первый файл через архиватор и извлеките от туда файл "Создание сводной таблицы в картинках.xls".
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464266
xavi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется огромный список с похожими ссылками.
Нужно задать условие, чтобы макрос сравнивал определенное количество символов строк (к примеру 10), и если 1ые 10 символов одинаковы - удаляет.
К примеру

www.x-memory.ru/
www.x-memory.ru

Нужно, чтобы 2ая строка удалялась...
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464279
xavi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разобрался
поменял условие


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub DeleteDubls()
Const intDataCol =  1 
Const intMaxRow =  50 
    Dim i%, j%
    Dim strValue1$, strValue2$
    For i =  2  To intMaxRow -  1 
        strValue1 = Trim(Cells(i, intDataCol))
        For j = i +  1  To intMaxRow
            strValue2 = Trim(Cells(j, intDataCol))
            If Left(strValue1,  [b]10 ) = Left(strValue2,  10 ) Then
               Cells(j, intDataCol).Delete shift:=xlUp[/b]
            End If
        Next
    Next
End Sub

xavi,
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464286
xavi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А теперь возник такой вопрос...
Нужно, чтоб адрес, содержащий http:// редактировался удалением этого http://

т.е., чтобы вместо http://www.sait.ru было www.sait.ru
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464292
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
xaviА теперь возник такой вопрос...
Нужно, чтоб адрес, содержащий http:// редактировался удалением этого http://

т.е., чтобы вместо http://www.sait.ru было www.sait.ru
Код: plaintext
1.
2.
if left("http://www.sait.ru",  7 ) = "http://" then ? Mid("http://www.sait.ru", 8 )
www.sait.ru
...
Рейтинг: 0 / 0
как макросом убрать повторяющиеся строки EXCEL
    #37464323
R Dm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
?replace("http://www.sait.ru","http://","")
...
Рейтинг: 0 / 0
25 сообщений из 89, страница 3 из 4
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как макросом убрать повторяющиеся строки EXCEL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]