0 / 0 / 0
Регистрация: 19.09.2014
Сообщений: 46
1

Поиск и удаление дубликатов

09.03.2021, 22:48. Показов 526. Ответов 9
Метки нет (Все метки)

Добрый вечер, форумчане.
Нужна ваша помощь.
В прикрепленном файле 7 по сути одинаковых строк (закупок), нужно удалить все, оставив только строки 2 и 6, так как закупка встретилась впервые в марте, и в последний раз в августе.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения
Тип файла: xlsx Лист Microsoft Excel (4).xlsx (9.9 Кб, 7 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2021, 22:48
Ответы с готовыми решениями:

Удаление дубликатов
Как организовать удаление дубликатов формулой? Такой странный вопрос.

Удаление дубликатов
Вопрос, как удалить дубликаты в столбце. Интересует удаление и дубликатов, и оригиналов...

Удаление дубликатов по условию
Добрый день. Вопрос. Есть таблица на 50k+ строк. Из нее нужно удалить дубликаты. Удалить дубликаты...

Удаление дубликатов по условию
Ребят, необходимо удалить дубликаты столбец В и оставить те, напротив которых дата максимальная,...

9
463 / 153 / 79
Регистрация: 07.10.2015
Сообщений: 369
10.03.2021, 08:48 2
Vartan23, так дубликаты убрать? Или просто оставить самую первую и самую последнюю по датам? Потому что куда девать за 30.04 и 30.05? Если дубликаты - то штатными средствами Excel Данные ->Удалит дубликаты. Если оставить записи с самой первой и самой последней датой - ну, тоже можно как-нибудь провести сортировку по дате и удалить все между первой и последней строкой. Или в чем проблема?
0
5714 / 2992 / 626
Регистрация: 23.11.2010
Сообщений: 9,976
10.03.2021, 09:46 3
Августовских тоже две строки...
0
0 / 0 / 0
Регистрация: 19.09.2014
Сообщений: 46
10.03.2021, 11:36  [ТС] 4
Ruella, От апреля и от мая тоже нужно удалить, как и все остальные, кроме указанных. Либо оставить только самую позднюю, остальные удалить, всю голову сломал((
0
463 / 153 / 79
Регистрация: 07.10.2015
Сообщений: 369
10.03.2021, 12:58 5
Vartan23, так конкретная проблема в чем? Руками не подходит? Ну, типа, сортировать по датам и оставить потом только верхнюю/нижнюю (в зависимости от сортировки) строку? Не могу понять задачу( Можно породробнее, как это в реале должно работать? Это вообще разовая задача или периодическая?
0
0 / 0 / 0
Регистрация: 19.09.2014
Сообщений: 46
10.03.2021, 13:38  [ТС] 6
Ruella, формула/макрос должен удалять дубликаты строк (дубликатом считается совпадение по всем столбцам), но оставить два дубликата, если в них различается дата публикации, а уже в дате публикации самая ранняя и самая поздняя запись, но также не должны удаляться уникальные записи, так как это делает данный макрос:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Sub pp()
Application.ScreenUpdating = False
Dim arr, arr2, i As Long, lr As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("A1:H" & lr)
ReDim arr2(1 To lr, 1 To 8)
' сортировка
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("H2:H" & lr) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("E2:E" & lr) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:H" & lr)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
'перебор
k = 1
For i = LBound(arr) To UBound(arr)
x = Application.WorksheetFunction.CountIfs(Range("H1:H" & lr), arr(i, 8)) - 1
    For n = 1 To 8
        arr2(k, n) = arr(i, n)
        If x > 0 Then arr2(k + 1, n) = arr(i + x, n): xxx = 1
    Next n
    If xxx = 1 Then
        k = k + 2
    Else
        k = k + 1
    End If
    i = i + x
    xxx = 0
Next i
With Worksheets("Выборка")
.Activate
.Range("A1:H100000").ClearContents
.Range("A1").Resize(UBound(arr2), 8) = arr2
End With
Application.ScreenUpdating = True
End Sub
0
463 / 153 / 79
Регистрация: 07.10.2015
Сообщений: 369
10.03.2021, 14:16 7
Vartan23, самый простой вариант, который могу предложить - через Power Query. Но там при изменении исходной таблицы нужно будет нажимать Данные -->Обновить все, если хотите, чтобы результат тоже обновился.
Короче, пробуйте и смотрите, то ли это, что Вам нужно было:
0
Вложения
Тип файла: xlsx Лист Microsoft Excel (4).xlsx (22.2 Кб, 6 просмотров)
0 / 0 / 0
Регистрация: 19.09.2014
Сообщений: 46
10.03.2021, 14:53  [ТС] 8
Ruella, да, это то, что нужно, подскажите, пожалуйста, как на множество строк (40к) применить?
0
463 / 153 / 79
Регистрация: 07.10.2015
Сообщений: 369
10.03.2021, 15:18 9
Vartan23, эм... точно так же? Добавьте все строки в исходную таблицу и нажмите Обновить на вкладке Данные.
P.S. Если Вас не устраивает место расположения итоговой таблицы, просто удалите ее, затем нажмите Данные -->Показать запросы, в открывшейся справа вкладке щелкаете правой кнопкой на единственный имеющийся там запрос, выбираете в меню Загрузить в... И указываете место, где хотите получить итоговый результат (новый лист или конкретное место на существующем).

Добавлено через 8 минут
Vartan23, Убедитесь при этом, что Способ представления данных отмечен Таблица, а не Только создать подключение.
0
0 / 0 / 0
Регистрация: 19.09.2014
Сообщений: 46
10.03.2021, 18:45  [ТС] 10
Всем спасибо за помощь!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2021, 18:45

Некачественное удаление дубликатов
Пытаюсь удалить дубликаты из столбца с ИНН предприятий. Программа пишет, что нашла и удалила...

Удаление дубликатов в столбцах (только по вертикали)
добрый день. помогите, пож, доработать макрос, или может кто-то сможет подсказать другой макрос....

Удаление дубликатов, при этом не сдвигая строки
Может у кого есть идеи? В столбце "А" содержатся повторяющиеся данные(числа). Задача удалить...

Поиск дубликатов
Доброе время суток! Очень сильно прошу Вас помочь мне с одним вопрос, попытаюсь максимально точно...

Сортировка и удаление дубликатов данных с разделителем в одной ячейке
Приветствую Cyber-специалистов :) Столкнулся с проблемой... Суть - Нужно переписать vba код...

Сортировка и удаление дубликатов чисел в пределах одной ячейки
Доброго времени суток специалистам. Буду признателен за помощь в решении проблемы сортировки и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.