Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как удалить одинаковые цифры их столбца? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как удалить одинаковые цифры их столбца? (Формулы/Formulas)
Как удалить одинаковые цифры их столбца?
art22 Дата: Понедельник, 19.06.2017, 14:28 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Есть список цифор... как удалить все одинаковые? НЕ ДУБЛИ а одинаковые. т. е. если в списке существует 2 одинаковые цифры на припер 25, 25. удалить их оба чтобы в списке не было цифры 25. Как это сделать?
 
Ответить
СообщениеЕсть список цифор... как удалить все одинаковые? НЕ ДУБЛИ а одинаковые. т. е. если в списке существует 2 одинаковые цифры на припер 25, 25. удалить их оба чтобы в списке не было цифры 25. Как это сделать?

Автор - art22
Дата добавления - 19.06.2017 в 14:28
vikttur Дата: Понедельник, 19.06.2017, 14:31 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Отметить все с дублями и удалить... Формулами удалить не получится, но можно вывести результат в другом диапазоне. Макрос может удалить на месте. Как нужно?
Файл-пример - от Вас.


Сообщение отредактировал vikttur - Понедельник, 19.06.2017, 14:32
 
Ответить
СообщениеОтметить все с дублями и удалить... Формулами удалить не получится, но можно вывести результат в другом диапазоне. Макрос может удалить на месте. Как нужно?
Файл-пример - от Вас.

Автор - vikttur
Дата добавления - 19.06.2017 в 14:31
art22 Дата: Понедельник, 19.06.2017, 14:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Столбец 1
1
2
3
4
2
5
...

нужно удалить все повторяющие цифры в нашем случай 2

Итог в столбце 2...
1
3
4
5
 
Ответить
СообщениеСтолбец 1
1
2
3
4
2
5
...

нужно удалить все повторяющие цифры в нашем случай 2

Итог в столбце 2...
1
3
4
5

Автор - art22
Дата добавления - 19.06.2017 в 14:56
jakim Дата: Понедельник, 19.06.2017, 17:48 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1199
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Формула

Код
=IFERROR(INDEX(A$1:A$112;MATCH(1;INDEX((COUNTIF(C$1:C1;A$1:A$112)=0)*(COUNTIF($A$1:$A$112;$A$1:$A$112)=1);0);0));"")
К сообщению приложен файл: duublicate.xlsx (9.3 Kb)
 
Ответить
Сообщение
Формула

Код
=IFERROR(INDEX(A$1:A$112;MATCH(1;INDEX((COUNTIF(C$1:C1;A$1:A$112)=0)*(COUNTIF($A$1:$A$112;$A$1:$A$112)=1);0);0));"")

Автор - jakim
Дата добавления - 19.06.2017 в 17:48
art22 Дата: Понедельник, 19.06.2017, 18:38 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
вроде работает. НО у меня там 121488 строк... когда я в место 112 указал данное значение жду уже мин 10 завис ексел. Неужели нет другой возможности чтобы так сильно не грузил? У меня комп мощный сам по себе первый раз так зависает)))Стандартный же инструмент по удалению дублей за 2 сек все дубли удаляет, а вот если бы не только дубли удалял а все похожие цифры были бы супер.)
 
Ответить
Сообщениевроде работает. НО у меня там 121488 строк... когда я в место 112 указал данное значение жду уже мин 10 завис ексел. Неужели нет другой возможности чтобы так сильно не грузил? У меня комп мощный сам по себе первый раз так зависает)))Стандартный же инструмент по удалению дублей за 2 сек все дубли удаляет, а вот если бы не только дубли удалял а все похожие цифры были бы супер.)

Автор - art22
Дата добавления - 19.06.2017 в 18:38
AndreTM Дата: Понедельник, 19.06.2017, 19:09 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
На большом количестве данных - желательно макросом:
[vba]
Код
Sub removeDub(rng As Range)
    Dim d As Object, c As Range, dKey
    Set d = CreateObject("Scripting.Dictionary")
    For Each c In rng.Cells
        dKey = c.Value
        If d.exists(dKey) Then
            d.Item(dKey) = d.Item(dKey) + 1
        Else
            d.Item(dKey) = 1
        End If
    Next
    For Each c In rng.Cells
        dKey = c.Value
        If d.Item(dKey) > 1 Then
            c.Value = ""
        End If
    Next
End Sub
[/vba]
Пример вызова:
[vba]
Код
Sub test()
    removeDub Range("A2:A20")
End Sub
[/vba]
Передаем процедуре только диапазон с числами - и она сотрёт все дубли.
Затем уже можно можно просто выбрать и удалить все строки с пустым ключом.


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Вторник, 20.06.2017, 06:00
 
Ответить
СообщениеНа большом количестве данных - желательно макросом:
[vba]
Код
Sub removeDub(rng As Range)
    Dim d As Object, c As Range, dKey
    Set d = CreateObject("Scripting.Dictionary")
    For Each c In rng.Cells
        dKey = c.Value
        If d.exists(dKey) Then
            d.Item(dKey) = d.Item(dKey) + 1
        Else
            d.Item(dKey) = 1
        End If
    Next
    For Each c In rng.Cells
        dKey = c.Value
        If d.Item(dKey) > 1 Then
            c.Value = ""
        End If
    Next
End Sub
[/vba]
Пример вызова:
[vba]
Код
Sub test()
    removeDub Range("A2:A20")
End Sub
[/vba]
Передаем процедуре только диапазон с числами - и она сотрёт все дубли.
Затем уже можно можно просто выбрать и удалить все строки с пустым ключом.

Автор - AndreTM
Дата добавления - 19.06.2017 в 19:09
zs Дата: Понедельник, 19.06.2017, 19:27 | Сообщение № 7
Группа: Заблокированные
Ранг: Участник
Сообщений: 87
Репутация: -19 ±
Замечаний: 100% ±

Excel 2003
Затем уже можно можно просто выбрать и удалить все строки с пустым ключом

Код
=ЕСЛИ(СЧЁТЕСЛИ($A$1:$A$6;A1)=1;A1;"")
 
Ответить
Сообщение
Затем уже можно можно просто выбрать и удалить все строки с пустым ключом

Код
=ЕСЛИ(СЧЁТЕСЛИ($A$1:$A$6;A1)=1;A1;"")

Автор - zs
Дата добавления - 19.06.2017 в 19:27
art22 Дата: Понедельник, 19.06.2017, 20:42 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо огромное все получился) С макросами не работал. но сохраню код на всякий случай, думаю понадобиться.

Использовал =ЕСЛИ(СЧЁТЕСЛИ... немного тормозила но быстро пришел в себя качаю сейчас офис 2010 Версию 64 бита может что то измениться.

Может скажете как можно быстро растянуть данную формулу до самого низа чтобы не тянуть мишкой вниз и ждать пока до самого конца опустится и размножиться...
 
Ответить
СообщениеСпасибо огромное все получился) С макросами не работал. но сохраню код на всякий случай, думаю понадобиться.

Использовал =ЕСЛИ(СЧЁТЕСЛИ... немного тормозила но быстро пришел в себя качаю сейчас офис 2010 Версию 64 бита может что то измениться.

Может скажете как можно быстро растянуть данную формулу до самого низа чтобы не тянуть мишкой вниз и ждать пока до самого конца опустится и размножиться...

Автор - art22
Дата добавления - 19.06.2017 в 20:42
_Boroda_ Дата: Вторник, 20.06.2017, 00:15 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
1 Пишем рядом формулу
Код
=СТРОКА()

2 Протягиваем ее вниз до конца (выделить В2, даблклик на правый нижний уголок ячейки (там квадратик такой виден))
3 Копируем это всё и вставляем спецвставкой - значения
4 Сортируем всё по столбцу А
5 Пишем рядом формулу
Код
=(A2=A1)+(A2=A3)

6 Протягиваем ее вниз до конца
7 Копируем это всё и вставляем спецвставкой - значения
8 Сортируем всё по столбцу С от мин к макс
9 Фильтруем столбец С "не равно нулю"
10 Встаем в первую ячейку, жмем Контрл СтрелкаВниз, удаляем строки
11 Снимаем фильтр
12 Сортируем по столбцу В от мин к макс
Пункты 1, 2, 3, 12 нужны только для того, чтобы вернуть обратно первоначальное расположение
Если это не обязательно, то их можно не выполнять
У меня все это заняло секунд 20


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение1 Пишем рядом формулу
Код
=СТРОКА()

2 Протягиваем ее вниз до конца (выделить В2, даблклик на правый нижний уголок ячейки (там квадратик такой виден))
3 Копируем это всё и вставляем спецвставкой - значения
4 Сортируем всё по столбцу А
5 Пишем рядом формулу
Код
=(A2=A1)+(A2=A3)

6 Протягиваем ее вниз до конца
7 Копируем это всё и вставляем спецвставкой - значения
8 Сортируем всё по столбцу С от мин к макс
9 Фильтруем столбец С "не равно нулю"
10 Встаем в первую ячейку, жмем Контрл СтрелкаВниз, удаляем строки
11 Снимаем фильтр
12 Сортируем по столбцу В от мин к макс
Пункты 1, 2, 3, 12 нужны только для того, чтобы вернуть обратно первоначальное расположение
Если это не обязательно, то их можно не выполнять
У меня все это заняло секунд 20

Автор - _Boroda_
Дата добавления - 20.06.2017 в 00:15
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как удалить одинаковые цифры их столбца? (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!