Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Флейм на общие темы »   Помогите с Excel
RSS

Помогите с Excel

<<Назад  Вперед>> Страницы: 1 2 3 4
Печать
 
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
Вопрос, как удалить дубликаты в столбце.
Интересует удаление и дубликатов, и оригиналов дубликатов.

Другими словами, если есть два столбца с одинаковыми номерами, то эти номера необходимо удалить из всех столбцов.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Вот это не пойдёт?
http://exceltip.ru/как-сравнит...етоды-сра/
Удалять, правда, потом придётся вручную, например, применив автофильтр по этому дополнительному столбцу с условием.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
нет, если удалять вручную то этот способ точно не подойдет.
представь себе столбцы из десятков тысяч строк если в них будет тысяч пять дубликатов которые надо будет удалять вручную?
нереально.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
А как именно нужно удалять повторяющиеся номера?
Просто очистить ячейку или, например, удалить её со смещением всего столбца вверх? Или всю строку удалять? Может, пример приведёте, как выглядит таблица, а то я ТЗ не очень понял.
И какая версия Excel?
Arseny
Advanced Member
,,,=^..^=,,,

Откуда: Bryansk, Russia
Всего сообщений: 1722
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 окт. 2005
VBA тебе в помощь. Напиши программу и получишь любой результат.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
uav1606 написал:
[q]
А как именно нужно удалять повторяющиеся номера?
Просто очистить ячейку или, например, удалить её со смещением всего столбца вверх? Или всю строку удалять? Может, пример приведёте, как выглядит таблица, а то я ТЗ не очень понял.
И какая версия Excel?
[/q]
удалять со смещением столбца вверх

пример:

123 - 456
234 - 567
456 - 789
567 - 908

имеем: по два повторения в обоих столбцах которые надо найти и удалить.
отсортировать оба стобца и просто удалить не получится, так как стобцы неодинаковы по объему данных, т.е в одном столбце 50 000 строк, а в другом 5000
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
Arseny написал:
[q]
тебе в помощь. Напиши программу и получишь любой результат.
[/q]
ничего не понял. что такое vba?
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
Ребят, вы просто спасете мне жизнь если скажете как можно решить данную проблему.
Arseny
Advanced Member
,,,=^..^=,,,

Откуда: Bryansk, Russia
Всего сообщений: 1722
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 окт. 2005
Jccwu написал:
[q]
ничего не понял. что такое vba?
[/q]
Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
понятно.
бэйсиком не владею, увы
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Jccwu, ну, допустим, что у Вас Excel 2007 и вот такая таблица:



Добавляем столбец, в который вводим формулу:
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(A2;$B$2:$B$14;0));"";"Совпад Ст.1")
Подразумевается, что первая строка таблицы - заголовок. Формулу в этом примере вводим в ячейку C2. Потом растягиваем её на весь столбец.
(Естественно, у Вас адреса ячейки и диапазон будут другие: A2 - это первая ячейка первого сравниваемого столбца, $B$2:$B$14 - весь второй сравниваемый столбец.)

Аналогично добавляем ещё один столбец, но с другой формулой (затравка в ячейку D2, потом растягиваем):
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(B2;$A$2:$A$14;0));"";"Совпад Ст.2")

(Естественно, у Вас адреса ячейки и диапазон будут другие: B2 - это первая ячейка второго сравниваемого столбца, $A$2:$A$14 - весь первый сравниваемый столбец. Если у Вас столбцы с разным количеством ячеек, то, конечно, у Вас во втором случае будут отличаться не только буквы, но и цифры в $A$2:$A$14.)

Получим примерно следующее:



Столбец C показывает "Совпад Ст.1", если в столбце A в этой же строке содержится значение, которое есть где-то в столбце B. Столбец D показывает обратное - что в столбце B в этой же строке содержится значение, которое есть где-то в столбце A.

Теперь выделяем два добавленных столбца, копируем в буфер, правой - Специальная вставка - Значения - ОК. Это чтобы у нас в этих столбцах теперь были не формулы, а значения, т.к. мы будем удалять ячейки, соответственно, формулы начнут показывать белиберду.


Теперь включаем фильтр. Выбираем автофильтром в столбце C непустые ячейки (т.е. где "Совпад Ст.1"). Выделяем весь видимый диапазон в столбце A (только лучше не весь столбец, а растянуть с первой до последней ячейки).



Жмём F5 - Выделить - Только видимые. Снимаем фильтр. Удаляем со сдвигом вверх (т.е. правой по одной из оставшихся выделенными ячеек - Удалить - Со сдвигом вверх).

Теперь то же самое делаем со столбцом D, т.е. включаем фильтр по непустым в D (т.е. где "Совпад Ст.2").
Выделяем весь видимый диапазон в столбце B (только лучше не весь столбец, а растянуть с первой до последней ячейки). Жмём F5 - Выделить - Только видимые. Снимаем фильтр. Удаляем со сдвигом вверх.
Теперь видим примерно следующее:



Как видим, остались только уникальные значения.


Только проверяйте, как говорится, на кошках, а то мало ли...
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
а можно как-то размножить формулу по ячейкам не растягивая ее?
Данных много, если строк 80 тыс, растягивание займет много времени, и очень сильные тормоза.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Jccwu, в 2007-м Excel'е на главной вот этот значок:



Т.е. выделяете весь вертикальный диапазон (щелчок по верхней ячейке, прокрутка до конца вниз, Shift+щелчок по последней ячейке), включая верхнюю ячейку, в которой формула-"затравка", потом жмёте эту кнопку и "Вниз".

P.S. Если строк 80 000, то эти формулы могут работать очень медленно... Тут и правда лучше на VBA делать.
ATauenis
Advanced Member


Откуда: Москва
Всего сообщений: 2904
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 апр. 2015
Заполняете формулу в 1 ячейку столбца, далее выделяете его целиком, если надо снимите выделение с ячейки/-ек заголовка, потом Правка->Заполнить->Вниз (в старых экселях) либо Главная->Заполнить->Вниз (в 2007+)

Подумать екселю придётся, как никак при этом выделяются все ячейки до упора, сколько эксель умеет (1048576 штук в 2010 версии и 65535 штук в 97-2003).

P.S. Опередили пока печатал :)
Fe-Restorator
Гость

Ссылка

del
Сейчас на форуме
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Fe-Restorator написал:
[q]
если ты сравниваешь ячейку первого столбца с содержимым второго столбца и находишь совпадение, значит соответствующую ячейку первого столбца уже можно пометить как "совпадающую". Т.е. ставить одновременно и "Совпад Ст.1", и "Совпад Ст.2" в соответствующих ячейках.
[/q]
Так не выйдет, т.к. "Совпад Ст.1" означает, что повторяющееся значение в первом столбце этой же строки, а во втором при этом может быть что угодно, т.е. дубль может быть на N тысяч строк ниже.
А "Совпад Ст.2" делает как раз наоборот - показывает, что во втором столбце этой же строки есть дубль, при этом его "прообраз" в первом столбце может быть где угодно, не на той же строке. Естественно, можно как-то эти формулы объединить в одном столбце, но сама формула тогда будет сложнее.
А удалять ячейки, если я правильно понял, нужно независимо, т.е. не целую строку. Соответственно, если, скажем, в первом столбце первая ячейка даёт "Совпад Ст.1", то её нужно удалять, а первую ячейку второго столбца - нет, т.к. она может быть и не дублем.
А если Вы имеете в виду, что при нахождении дубля в первом столбце как-то отметить его же во втором в другом месте - то простой формулой это сделать не получится, формулы не могут писать данные в другие ячейки (во всяком случае, в старых Excel'ях не могли). Т.е. формула может выдать что-то только в той ячейке, куда введена.
Fe-Restorator
Гость

Ссылка

uav1606 написал:
[q]
Так не выйдет
[/q]
Да, я уже разобрал логику, удалил содержимое поста.
Сейчас на форуме
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
uav1606 написал:
[q]
Ст.1", то её нужно удалять, а первую ячейку второго столбца - нет
[/q]
можно удалить вместе со второй ячейкой второго столбца. Важен лишь первый столбец. Второй после всех манипуляций все равно будет удален.
Самое главное, удалить повторяющиеся значения в первом столбце.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Jccwu, тогда можете второй столбец (который D) по моей инструкции просто не создавать. Ну и не делать никаких манипуляций с ним и с столбцом B в моём примере.

P.S. Приведённый мною алгоритм не удаляет дубликаты в самом столбце, т.е. если там могут быть одинаковые значения, то их ещё отдельно нужно поискать.
Т.е. если у Вас что-то вроде
...
2
3
4
25
2
...
Такие дубликаты (которые в одном и том же столбце) нужно удалять как-то так:
http://exceltip.ru/повторяющие...айти-выде/
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
в том то и дело что найти повторяющиеся несложно, сложно их удалить.
Проблема в том, что удаляются только дублирующиеся, а мне надо чтобы все найденные дубликаты были удалены вместе с оригиналами
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Тот мой алгоритм для двух столбцов как раз и позволяет это сделать. Если нужно удалить и дубликаты, и оригиналы в одном и том же столбце, тогда можно добавить столбец с формулой:
=СЧЁТЕСЛИ($A$2:$A$14;A2)>1
Где ИСТИНА - там дубликат (подразумевается, что ищем в диапазоне $A$2:$A$14).
Дальше растянуть формулу и повторить те же действия, что я описывал выше (фильтр, выделить отфильтрованные, F5 - Выделить - Только видимые, снятие фильтра, удаление).
Адреса ячеек и диапазоны я привёл для примера выше, т.е. тут мы ищем дубликаты в столбце A ("Слоны").
Или в Excel 2007+ есть возможность выделения всех дубликатов цветом.
Кай
Гость
Divine Assassin

Откуда: извне (from beyond)
Всего сообщений: 13709
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2010
...Интересно, а мамкин хелп курили? https://www.youtube.com/watch?v=uZcsRoKalEM
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
uav1606 написал:
[q]
Тот мой алгоритм
[/q]
а как он работает?
конкретно вот тут я не увидел

uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Значит, Вы что-то не то сделали. Дайте полный скриншот с заголовками и номерами строк, и чтобы вверху была видна формула в ячейке напротив двух красных.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
Кай написал:
[q]
...Интересно, а мамкин хелп курили? https://www.youtube.com/watch?v=uZcsRoKalEM
[/q]
Кай, ты забежал вперед, не прочитав смысл задания. Смысл не удалить дубликаты, а удалить и дубликаты и оригиналы.
Кай
Гость
Divine Assassin

Откуда: извне (from beyond)
Всего сообщений: 13709
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2010
Виноват, постараюсь исправиться.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Jccwu, а, уже вижу - зачем же Вы оставили в формуле $A$2:$A$14? Это ведь у меня 14 строк, у Вас же будет что-то вроде $A$2:$A$10000. Т.е. вместо 10000 будет номер последней ячейки в столбце A. То же самое с другими подобными диапазонами. Я же их привёл для своей таблицы, понятно, что нужно скорректировать их после вставки формулы-затравки.
А сейчас он у Вас ищет дубликаты только в первых 13 строчках.
Это как минимум, кроме того, я смотрю, Вы как-то формулу переделали, что она у Вас "ЛОЖЬ" выдаёт?
В любом случае, нужен полный скриншот, а то у Вас там обрезано почти всё, что нужно.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
да нет, это просто у меня курсор стоит в ячейке с этой формулой. Не в той где расчеты.

в общем сейчас пытаюсь разобраться с вашим способом, там какая то непонятка есть. Возможно этот способ будет работать. Но у меня что-то не получается. туплю видимо.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Дайте скрин, я скажу, что не так.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
uav1606 написал:
[q]
Только проверяйте, как говорится, на кошках, а то мало ли...
[/q]
ваш способ работает. Просто нереальное спасибо за помощь. На нескольких форумах запостил, но ответ получил только тут.
Поражаюсь насколько хорошо вы знаете формулы эксела. :thumbup:
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Jccwu написал:
[q]
спасибо за помощь
[/q]
Пожалуйста. Только перепроверяйте всё, а то мало ли, где-то что-то может не то вылезти.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
uav1606 написал:
[q]
Пожалуйста. Только перепроверяйте всё, а то мало ли, где-то что-то может не то вылезти.
[/q]
только непонятно зачем копировать значения из столбца С и D
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
uav1606 написал:
[q]
Выделяем весь видимый диапазон в столбце B (только лучше не весь столбец, а растянуть с первой до последней ячейки). Жмём F5 - Выделить - Только видимые. Снимаем фильтр. Удаляем со сдвигом вверх.
[/q]
вот тут, если делать в такой последовательности, то снятие фильтра надо делать после того как удаляешь со сдвигом а не до, иначе выделения сбиваются и приходится заново все выделять.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Jccwu, у меня в 2007-м Excel'е без снятия фильтра при щелчке правой кнопкой мыши и выборе "Удалить" он спрашивал "Удалить всю строку листа?" и не выдавал стандартного меню "Удалить со сдвигом вверх" и т.п. Если же сначала сделать что я писал - нажать F5, в появившемся окне "Выделить", потом "Только видимые ячейки", то потом можно безопасно снять фильтр. Потом нужно правой щёлкнуть по одной из оставшихся выделенными ячеек, и там уже выбирать правой - "Удалить" и т.п. Тогда выделения не сбиваются. Вы, вероятно, щёлкнули правой просто по пустой (не выделенной) ячейке, тогда да, выделение сбивается, нужно всё снова делать.
Ну или, чтобы не искать выделенную ячейку, можно просто после снятия фильтра выбрать "Удалить" на главной панели.
А так, как Вы делали - есть риск, что удалятся не только дубликаты, но и ячейки между ними, т.к. при включенном фильтре Excel иногда как-то странно считает выделение - оно его распространяет и на невидимые на данный момент области. Для этого и нужно это F5 и т.п. Ну и в таком варианте нет выбора "Со сдвигом вверх" или ещё куда. (По крайней мере, у меня так.)

Jccwu написал:
[q]
только непонятно зачем копировать значения из столбца С и D
[/q]
Это не обязательно, но если Вы удаляете любую ячейку или строку, то формулы в C и D могут начать выдавать нам не то, что нужно. А если Вы вставили значения Специальной вставкой, как я сказал, то дальнейшие манипуляции со столбцами A и B уже на C и D не повлияют, потому что там теперь просто текст, а не формулы.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
uav1606 написал:
[q]
Вы, вероятно, щёлкнули правой просто по пустой (не выделенной) ячейке, тогда да, выделение сбивается, нужно всё снова делать.
[/q]
нет, у меня на тестовом варианте с 25 ячейками так получилось, а когда начал с файлом работать, в котором 80 тыс строк, и приходилось ждать по 5 минут каждое действие, почему-то не получилось, и выделения пропадало сразу же после того как я снимал фильтр.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Странно, сейчас попробовал на 10000 строк - так же работает, как и в маленькой. Ну, может, какая-то особенность Вашей версии Excel или таблицы.
Jccwu
Advanced Member
Злой и Нечуткий

Откуда: Екатеринбург
Всего сообщений: 3579
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 апр. 2013
ладно, это уже не суть важно, главное цель достигнута и вопрос решен.
еще раз спасибо вам.
Alvares
Full Member


Откуда: Воронеж
Всего сообщений: 291
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
20 сен. 2015
Jccwu написал:
[q]
[/q]
Чтобы не пересчитывалось после каждого чиха, можно убрать авторасчет в настройках и пользоваться расчетом в ручном режиме.
<<Назад  Вперед>> Страницы: 1 2 3 4
Печать
Полигон-2 »   Флейм на общие темы »   Помогите с Excel
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS