Знищуємо двійників
Нещодавно я провів курс з статистичного аналізу в Microsoft Office Excel і BioStat. Характерною відмінністю цього тренінгу було бажання клієнтів робити всі практичні завдання в Excel 2003, або в сучасніших версіях, але з “класичним” інтерфейсом.
Тож довелось мені терміново пригадувати, що і де саме знаходилось в цій версії. А було це нелегко, оскільки 2003-й “офіс” востаннє я бачив років так чотири тому.
І зараз я хочу поділитись з вами способами вирішення однієї проблеми, яка в Excel 2003 дійсно була проблемою. Я розповім вам одну задачу, яка часто зустрічається на практиці, а саме про видалення дублікатів.
Теоретичне підгрунтя
Спочатку давайте розберемось, що ж таке дублікати, і звідки ми їх збираємось видаляти. Для цього згадаємо, що таке список.
Список (List в Excel 2003 або Table в Excel 2007/2010) – це набір рядків діапазону таблиці, який містить структуровані дані. “Cтруктуровані” означає, що кожен рядок складається з сукупності значень, тип і зміст яких задається заголовками стовпчиків (перший рядок діапазону). Рядки називають записами, а стовпчики – полями. Таким чином, списки є способом організації баз даних в Excel.
З даними списку можна працювати і аналізувати їх (фільтрувати, сортувати, підводити підсумки, будувати зведену таблицю) окремо від решти інформації на листі таблиці. На одному листі може бути кілька списків, і оперувати ними можна незалежно. Щоб створити список, треба активувати будь-яку комірку всередині діапазону даних, і натиснути Ctrl+L. Зараз ми не будемо детально зупинятись на тих можливостях, які надають нам списки. Якщо вас цікавлять деталі, завітайте, наприклад, сюди.
Якщо список – це база даних, то дублікатами слід вважати будь-які записи (рядки), які у відповідних полях (комірках) мають абсолютно ідентичні значення (тобто, не відрізняються хоча б одним значенням).
Способи видалення дублікатів
Задачу видалення співпадаючих записів можна розв’язати щонайменше двома способами:
-
Використання розширеного фільтра:
-
активувати будь-яку комірку всередині діапазону з даними
-
в Excel 2003 виконати послідовність команд Data > Filter > Advanced Filter. В Excel 2007/2010, виберіть команду Advanced з групи Sort & Filter вкладинки Data (хоч, краще трохи почекайте – в Excel 2007/2010 э кращий спосіб)
-
виберіть діапазон, куди ви хочете помістити дані (поле Copy To)
-
відмітьте чекбокс Unique Records Only
-
активувати будь-яку комірку всередині діапазону з даними
-
виконайте команду Remove Duplicates з вкладинки Data
Якщо ж ваш діапазон складається з одного стовпчика, можна спробувати наступне:
-
Використати формулу на кшталт =IF(COUNTIF($A$2:A2;A2)=1;A2;""). Ось тут ви можете почитати подробиці її використання, і чому формулу слід писати саме так.
-
Скористатись можливостями умовного форматування в Excel 2007/2010. Деталі – тут, хоч думаю, все і так зрозуміло.:-)
Ось такі справи. Я вкотре зрозумів, що слід користуватись лише поточними версіями Microsoft Office!
P.S. Перший же документ, який я знайшов на цю тему, і який став основним джерелом для написання цього повідомлення – стаття Removing Duplicates in Excel. До речі, дуже раджу почитати й інші статті на сайті http://www.mrexcel.com/.
Ви можете відслідковувати коментарі до цього запису за допомогою RSS 2.0. Ви можете лишити коментар, або використати трекбек з Вашого сайту.
А яка практична сторона данної статті?
Чесно кажучи, трохи не зрозумів запитання.:-) Ситуації, коли таблиця може мати кілька записів, які повторюються, в реальному житті зустрічаються дуже часто. Уявімо собі, що ви відбирали дані з зовнішнього джерела на основі запиту, який отримує не всі поля таблиці. В результаті, саме ті поля, значення яких унікальні для кожного запису, якраз в Excelі не потрапили. Наприклад – отримуєте значення поля “Компанія” з таблиці, де містяться дані про угоди. Більш складні приклади також неважко згадати…