Удаление одинаковых текстов в ячейках
Dadojon
Дата: Понедельник, 10.09.2018, 19:22 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
В одном листе сформирован список ФИО. Имеется несколько одинаковых повторяющихся ФИО. Как использовать формулу для удаления повторяющих ФИО более одно. Пример в приложении. PS: Данный список в листе более 23000 строк.
В одном листе сформирован список ФИО. Имеется несколько одинаковых повторяющихся ФИО. Как использовать формулу для удаления повторяющих ФИО более одно. Пример в приложении. PS: Данный список в листе более 23000 строк. Dadojon
Ответить
Сообщение В одном листе сформирован список ФИО. Имеется несколько одинаковых повторяющихся ФИО. Как использовать формулу для удаления повторяющих ФИО более одно. Пример в приложении. PS: Данный список в листе более 23000 строк. Автор - Dadojon Дата добавления - 10.09.2018 в 19:22
_Boroda_
Дата: Понедельник, 10.09.2018, 19:33 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16901
Репутация:
6613
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Думаю, что проще всего использовать сводную таблицу Или Данные - Удалить дубликаты
Думаю, что проще всего использовать сводную таблицу Или Данные - Удалить дубликаты _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Думаю, что проще всего использовать сводную таблицу Или Данные - Удалить дубликаты Автор - _Boroda_ Дата добавления - 10.09.2018 в 19:33
sv2014
Дата: Понедельник, 10.09.2018, 19:56 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
Dadojon , вариант формулы массива в столбце D или E (с сортировкой в обратном порядке)
=ЕСЛИОШИБКА(ИНДЕКС($B:$B;АГРЕГАТ(15 ;6 ;СТРОКА($B$2:$B$100)/(ПОИСКПОЗ($B$2:$B$100;$B:$B;0 )=СТРОКА($B$2:$B$100));СТРОКА($B1)));"" )
Dadojon , вариант формулы массива в столбце D или E (с сортировкой в обратном порядке)
=ЕСЛИОШИБКА(ИНДЕКС($B:$B;АГРЕГАТ(15 ;6 ;СТРОКА($B$2:$B$100)/(ПОИСКПОЗ($B$2:$B$100;$B:$B;0 )=СТРОКА($B$2:$B$100));СТРОКА($B1)));"" )
sv2014
Сообщение отредактировал sv2014 - Понедельник, 10.09.2018, 21:26
Ответить
Сообщение Dadojon , вариант формулы массива в столбце D или E (с сортировкой в обратном порядке) [vba]
=ЕСЛИОШИБКА(ИНДЕКС($B:$B ;АГРЕГАТ(15;6;СТРОКА($B$2:$B$100 )/(ПОИСКПОЗ($B$2:$B$100 ;$B:$B ;0)=СТРОКА($B$2:$B$100 ));СТРОКА($B1 )));"")
[/vba]Автор - sv2014 Дата добавления - 10.09.2018 в 19:56
ASWP
Дата: Понедельник, 10.09.2018, 21:10 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Вариант макросом
Sub RemoveDuplicates()
Cells.Sort Key1:=Range("B2" )
totalrows = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For Row = totalrows To 2 Step -1
If Cells(Row, 2 ).Value = Cells(Row - 1 , 2 ).Value Then
Rows(Row).Delete
End If
Next Row
Application.ScreenUpdating = True
End Sub
Вариант макросом
Sub RemoveDuplicates()
Cells.Sort Key1:=Range("B2" )
totalrows = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For Row = totalrows To 2 Step -1
If Cells(Row, 2 ).Value = Cells(Row - 1 , 2 ).Value Then
Rows(Row).Delete
End If
Next Row
Application.ScreenUpdating = True
End Sub
ASWP
я знаю что ничего не знаю, но другие не знают и этого
Сообщение отредактировал ASWP - Понедельник, 10.09.2018, 22:24
Ответить
Сообщение Вариант макросом [vba]
Sub RemoveDuplicates() Cells.Sort Key1 :=Range("B2") totalrows = ActiveSheet.UsedRange.Rows.Count Application.ScreenUpdating = False For Row = totalrows To 2 Step -1 If Cells(Row ; 2).Value = Cells(Row - 1; 2).Value Then Rows(Row ).Delete End If Next Row Application.ScreenUpdating = ТrueEnd Sub
[/vba] Автор - ASWP Дата добавления - 10.09.2018 в 21:10
sv2014
Дата: Понедельник, 10.09.2018, 21:39 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
Dadojon , еще вариант макроса,кнопка test,в столбце Q
Sub test()
Dim i&, z, m&: z = Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row).Value
With CreateObject ("scripting.dictionary" ): .CompareMode = 1
For i = 1 To UBound (z)
If .exists(z(i, 1 )) = False Then
m = m + 1 : .Item(z(i, 1 )) = 0 : z(m, 1 ) = z(i, 1 )
End If
Next
Range("K2" ).Resize(.Count, 1 ).Value = z
End With
End Sub
Dadojon , еще вариант макроса,кнопка test,в столбце Q
Sub test()
Dim i&, z, m&: z = Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row).Value
With CreateObject ("scripting.dictionary" ): .CompareMode = 1
For i = 1 To UBound (z)
If .exists(z(i, 1 )) = False Then
m = m + 1 : .Item(z(i, 1 )) = 0 : z(m, 1 ) = z(i, 1 )
End If
Next
Range("K2" ).Resize(.Count, 1 ).Value = z
End With
End Sub
sv2014
Ответить
Сообщение Dadojon , еще вариант макроса,кнопка test,в столбце Q [vba]
Sub test() Dim i &, z , m &: z = Range("B2:B" & Range("B" & Rows.Count ).End(xlUp ).Row ).Value With CreateObject("scripting.dictionary"): .CompareMode = 1 For i = 1 To UBound(z ) If .exists(z(i , 1)) = False Then m = m + 1: .Item(z(i , 1)) = 0: z(m , 1) = z(i , 1) End If Next Range("K2").Resize(.Count , 1).Value = z End WithEnd Sub
[/vba]Автор - sv2014 Дата добавления - 10.09.2018 в 21:39
ASWP
Дата: Вторник, 11.09.2018, 08:19 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
ASWP , На самом деле не очень удачный пример, долго будет работать если очень много строк, можно проще и быстрее сделать.
ASWP , На самом деле не очень удачный пример, долго будет работать если очень много строк, можно проще и быстрее сделать.ASWP
я знаю что ничего не знаю, но другие не знают и этого
Сообщение отредактировал ASWP - Вторник, 11.09.2018, 08:20
Ответить
Сообщение ASWP , На самом деле не очень удачный пример, долго будет работать если очень много строк, можно проще и быстрее сделать.Автор - ASWP Дата добавления - 11.09.2018 в 08:19
Фомулист
Дата: Вторник, 11.09.2018, 11:54 |
Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 400
Репутация:
9
±
Замечаний:
80% ±
Excel 2003
ASWP, На самом деле не очень удачный пример
Оффтоп:
Сам написал макрос, сам его же и покритиковал
А чё - когда самому себе вслух (письменно) высказываешь критику, - легче понимаешь что сделал не так!
ASWP, На самом деле не очень удачный пример
[offtop]Сам написал макрос, сам его же и покритиковал А чё - когда самому себе вслух (письменно) высказываешь критику, - легче понимаешь что сделал не так! [/offtop]Фомулист
Терпение и труд всё перетрут!
Ответить
Сообщение ASWP, На самом деле не очень удачный пример
[offtop]Сам написал макрос, сам его же и покритиковал А чё - когда самому себе вслух (письменно) высказываешь критику, - легче понимаешь что сделал не так! [/offtop]Автор - Фомулист Дата добавления - 11.09.2018 в 11:54
китин
Дата: Вторник, 11.09.2018, 12:31 |
Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7034
Репутация:
1079
±
Замечаний:
0% ±
Excel 2007;2010;2016
Оффтоп: Фомулист , а лучше всего критиковать других, не приложив даже чутка усилий в решении задачи
[offtop]Фомулист , а лучше всего критиковать других, не приложив даже чутка усилий в решении задачи китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение [offtop]Фомулист , а лучше всего критиковать других, не приложив даже чутка усилий в решении задачи Автор - китин Дата добавления - 11.09.2018 в 12:31
Фомулист
Дата: Вторник, 11.09.2018, 12:39 |
Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 400
Репутация:
9
±
Замечаний:
80% ±
Excel 2003
Оффтоп:
а лучше всего критиковать других
Упаси Бог, где Вы увидели критику?
Это была просто лёгкая шутка. И ничего более.
[offtop]а лучше всего критиковать других
Упаси Бог, где Вы увидели критику? Это была просто лёгкая шутка. И ничего более.[/offtop] Фомулист
Терпение и труд всё перетрут!
Сообщение отредактировал Фомулист - Вторник, 11.09.2018, 12:42
Ответить
Сообщение [offtop]а лучше всего критиковать других
Упаси Бог, где Вы увидели критику? Это была просто лёгкая шутка. И ничего более.[/offtop] Автор - Фомулист Дата добавления - 11.09.2018 в 12:39