Знищуємо двійників

Нещодавно я провів курс з статистичного аналізу в Microsoft Office Excel і BioStat. Характерною відмінністю цього тренінгу було бажання клієнтів робити всі практичні завдання в Excel 2003, або в сучасніших версіях, але з “класичним” інтерфейсом.

Тож довелось мені терміново пригадувати, що і де саме знаходилось в цій версії. А було це нелегко, оскільки 2003-й “офіс” востаннє я бачив років так чотири тому.

imageІ зараз я хочу поділитись з вами способами вирішення однієї проблеми, яка в Excel 2003 дійсно була проблемою. Я розповім вам одну задачу, яка часто зустрічається на практиці, а саме про видалення дублікатів.


Теоретичне підгрунтя

Спочатку давайте розберемось, що ж таке дублікати, і звідки ми їх збираємось видаляти. Для цього згадаємо, що таке список.

Список (List в Excel 2003 або Table в Excel 2007/2010) – це набір рядків діапазону таблиці, який містить структуровані дані. “Cтруктуровані” означає, що кожен рядок складається з сукупності значень, тип і зміст яких задається заголовками стовпчиків (перший рядок діапазону).  Рядки називають записами, а стовпчики – полями. Таким чином, списки є способом організації баз даних в Excel.

З даними списку можна працювати і аналізувати їх (фільтрувати, сортувати, підводити підсумки, будувати зведену таблицю) окремо від решти інформації на листі таблиці. На одному листі може бути кілька списків, і оперувати ними можна незалежно. Щоб створити список, треба активувати будь-яку комірку всередині діапазону даних, і натиснути Ctrl+L. Зараз ми не будемо детально зупинятись на тих можливостях, які надають нам списки. Якщо вас цікавлять деталі, завітайте, наприклад, сюди.

image

Якщо список – це база даних, то дублікатами слід вважати будь-які записи (рядки), які у відповідних полях (комірках) мають абсолютно ідентичні значення (тобто, не відрізняються хоча б одним значенням).

Способи видалення дублікатів

Задачу видалення співпадаючих записів можна розв’язати щонайменше двома способами:

  1. Використання розширеного фільтра:
  1. активувати будь-яку комірку всередині діапазону з даними
  2. в Excel 2003 виконати послідовність команд Data > Filter > Advanced Filter. В Excel 2007/2010, виберіть команду Advanced з групи Sort & Filter вкладинки Data (хоч, краще трохи почекайте – в Excel 2007/2010 э кращий спосіб)
  3. виберіть діапазон, куди ви хочете помістити дані (поле Copy To)
  4. відмітьте чекбокс Unique Records Only
  5. натисніть Ok
    image
  • Функція Remove Duplicates в Excel 2007/2010:
    1. активувати будь-яку комірку всередині діапазону з даними
    2. виконайте команду Remove Duplicates з вкладинки Dataimage
    3. діалогове вікно Remove Duplicates покаже список полів. Виберіть ті з них, які вам потрібні, або залиште все, як є, і натисніть Ok
       image

    Якщо ж ваш діапазон складається з одного стовпчика, можна спробувати наступне:

    1. Використати формулу на кшталт =IF(COUNTIF($A$2:A2;A2)=1;A2;""). Ось тут ви можете почитати подробиці її використання, і чому формулу слід писати саме так.
    2. Скористатись можливостями умовного форматування в Excel 2007/2010. Деталі – тут, хоч думаю, все і так зрозуміло.:-)
      image

    Ось такі справи. Я вкотре зрозумів, що слід користуватись лише поточними версіями Microsoft Office!

    P.S. Перший же документ, який я знайшов на цю тему, і який став основним джерелом для написання цього повідомлення – стаття Removing Duplicates in Excel. До речі, дуже раджу почитати й інші статті на сайті http://www.mrexcel.com/.

    Ви можете відслідковувати коментарі до цього запису за допомогою RSS 2.0. Ви можете лишити коментар, або використати трекбек з Вашого сайту.

    Коментарів: 2 »

     
    • Windows blog says:

      А яка практична сторона данної статті?

      • Чесно кажучи, трохи не зрозумів запитання.:-) Ситуації, коли таблиця може мати кілька записів, які повторюються, в реальному житті зустрічаються дуже часто. Уявімо собі, що ви відбирали дані з зовнішнього джерела на основі запиту, який отримує не всі поля таблиці. В результаті, саме ті поля, значення яких унікальні для кожного запису, якраз в Excelі не потрапили. Наприклад – отримуєте значення поля “Компанія” з таблиці, де містяться дані про угоди. Більш складні приклади також неважко згадати…

     

    Лишити коментар

    XHTML: Ви можете використати наступні HTML-теги <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

     Допомогти блогу та заохотити автора:

    BTC: 13kN2tJubi9J1UHUxVJBu9NgjxsmGBccAa

    XMR: 44z7DhWqm2eAny1EaC5ny5U3yspQA2wgPGnatvsto9WHeWas6wTpfBZK4kuxnhbxToKouJTYXoMtcVT5Td2hxiQVFEWgMez

    KRB: KbbpHAZ41RFBf5ErK7VzpuNQJfZaMcfYoNhLQCHW95cfWWUZedaLFkb92yejTCS9JvJb1PckeZuWfHapya4qL3bZ7kPSEVL