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

Полигон-2

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

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

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

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

Помогите с Excel

<<Назад  Вперед>> Страницы: 1 * 2 3 4
Печать
 
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 делать.
<<Назад  Вперед>> Страницы: 1 * 2 3 4
Печать
Полигон-2 »   Флейм на общие темы »   Помогите с Excel
RSS

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

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

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