[identity profile] shapranchik.livejournal.com posting in [community profile] useful_faq
Здрасте всем, сегодня на практике задали задание в Excel, а как делать не сказали, ибо сами не знают) поясню: практику я прохожу в росприроднадзоре, там составили список подконтрольных объектов (ок 80тыс), какой-то ещё ОИВ составил свой список, куда вошли не все объекты из "нашего" списка. Их надо сравнить и выделить недостающие. А Excel я проходила на 2м курсе института и когда возня с ним закончилась, я вздохнула с облегчением и благополучно его забыла. Конечно принцип работы с этой прогой я помню, но что делать в этом конкретном случае не знаю. Есть гуру?

Date: 2010-02-01 01:14 pm (UTC)
From: [identity profile] doppeltes.livejournal.com
в данном конкретном случае вам надо найти программиста
мне кажется стандартными средствами Excel эту задачу не решить

Date: 2010-02-01 01:23 pm (UTC)
From: [identity profile] spoonisoutthere.livejournal.com
у вас есть 80 тыс названий
есть список оив

если написания и там, и там одинаковые
то во втором списке проставляете 1 напротив всех названий
после этого на 1 списке используете функцию ВПР
и ВПРите 1-ки из второго списка напротив названий первого
там, где непроВПРилось - недостающий объект для списка оив

если написания разные, то никакой эксель вам не поможетъ

Date: 2010-02-01 02:13 pm (UTC)
From: [identity profile] spoonisoutthere.livejournal.com
впр - в функциях
непроВПРилось - там вместо "1" будут "#Н/Д!" и их можно отобрать автофильтром

Date: 2010-02-01 02:35 pm (UTC)
From: [identity profile] alauxdo.livejournal.com
Экспортируйте в Аксесс обе таблицы.
Соедините по совпадающему полю в дизайнере запросов.
Измените тип связи на "включить все записи из правой (левой) таблицы".
Неполные строки в видаче запроса будут указывать на отсутствие этих данных в одной из таблиц.
Настройте фильтр на показ таких записей.

Date: 2010-02-01 02:52 pm (UTC)
From: [identity profile] spoonisoutthere.livejournal.com
задание в экселе, насколько я понял

Date: 2010-02-01 03:00 pm (UTC)
From: [identity profile] alauxdo.livejournal.com
Насколько я понял, "задание в Экселе" означает, что "исходные данные задания в Экселе", а не что "задание надо обязательно выполнить в Экселе".
И судя по самому заданию, Эксель тут выбран не совсем правильно как инструмент.
Если уж от Экселя не уйти, то, наверное, я бы использовать Microsoft Query, используя листы Экселя как ODBC Data source.

Date: 2010-02-01 03:11 pm (UTC)
From: [identity profile] spoonisoutthere.livejournal.com
это всё хорошо конечно, но постановка вопроса почему-то наводит меня на мысли, что топикстартер далёк от работы с базами )

Date: 2010-02-01 03:12 pm (UTC)
From: [identity profile] spoonisoutthere.livejournal.com
в экселе проще

уважьте старика Оккама, не создавайте сущностей свыше необходимого )

Date: 2010-02-01 03:31 pm (UTC)
From: [identity profile] alauxdo.livejournal.com
То есть по-ващему самый оптимальный инструмент для сравнения 85 тыс. строк одной таблицы с неизвестным количеством строк в другой -- это Эксель? :)

Date: 2010-02-01 03:30 pm (UTC)
From: [identity profile] alauxdo.livejournal.com
я как раз постарался пошагово написать выше :)

Date: 2010-02-01 02:45 pm (UTC)
From: [identity profile] vnarod.livejournal.com
обратите внимание: 80 тыс - слишком много для Excel'a. Мах. количество строк - 65535

Date: 2010-02-01 02:51 pm (UTC)
From: [identity profile] spoonisoutthere.livejournal.com
можно список на 2 части разделить

или использовать эксель 2007

Date: 2010-02-01 04:04 pm (UTC)
From: [identity profile] morgulis.livejournal.com
В 2007 Экселе объедините два списка (скопируйте один под другой), Data - Remove Duplicates.

Date: 2010-02-01 04:35 pm (UTC)
From: [identity profile] morgulis.livejournal.com
Будет, естественно, что заказывали - remove duplicates, останутся только неповторяющиеся значения из каждого списка.

ОК, давайте на старом офисе. Копируете один список под другой, сортируете по столбцу с названиями объектов. Получается объединенный список, в котором некоторые значения повторяются, идут парой. Допустим, наши значения в колонке А, начиная с А1. Тогда в колонке В, в клетке В1 вводите формулу =IF(A1=A2,1,"") и копируете на всю длину списка. Формула обозначит единичками повторяющиеся значения. Для всех значений колонки В сделайте Ctrl-C, Edit - Paste Special - Values (чтобы не зависеть от формул), сортируете всю таблицу по колонке В и все строки с единичками уничтожаете. Остаются только неповторяющиеся записи из двух списков.