Спајање две листе без дупликата

Класична ситуација: имате две листе које треба спојити у једну. Штавише, у почетним листама могу бити и јединствени елементи и они који се подударају (и између листа и изнутра), али на излазу морате добити листу без дупликата (понављања):

Спајање две листе без дупликата

Хајде да традиционално погледамо неколико начина за решавање тако уобичајеног проблема - од примитивног "на челу" до сложенијих, али елегантнијих.

Метод 1: Уклоните дупликате

Проблем можете решити на најједноставнији начин – ручно копирајте елементе обе листе у једну, а затим примените алат на резултујући скуп. Уклоните дупликате са картице Датум (Подаци — Уклони дупликате):

Спајање две листе без дупликата

Наравно, овај метод неће радити ако се подаци у изворним листама често мењају – мораћете да поновите целу процедуру након сваке промене поново. 

Метод 1а. ротациона табела

Овај метод је, у ствари, логичан наставак претходног. Ако листе нису велике и максималан број елемената у њима је унапред познат (на пример, не више од 10), онда можете комбиновати две табеле у једну директним везама, додати колону са онима на десној страни и направите збирну табелу на основу резултујуће табеле:

Спајање две листе без дупликата

Као што знате, стожерна табела игнорише понављања, тако да ћемо на излазу добити комбиновану листу без дупликата. Помоћна колона са 1 је потребна само зато што Екцел може да направи збирне табеле које садрже најмање две колоне.

Када се оригиналне листе промене, нови подаци ће ићи у комбиновану табелу преко директних веза, али ће стожерна табела морати да се ажурира ручно (десни клик – Ажурирајте и сачувајте). Ако вам није потребно поновно израчунавање у ходу, онда је боље користити друге опције.

Метод 2: Формула низа

Можете решити проблем помоћу формула. У овом случају, поновно израчунавање и ажурирање резултата ће се десити аутоматски и тренутно, одмах након промена у оригиналним листама. Ради практичности и сажетости, дајемо имена нашим листама. Листа КСНУМКС и Листа КСНУМКСкоришћење Наме Манагер табулатор формула (Формуле — Менаџер имена — Креирајте):

Спајање две листе без дупликата

Након именовања, формула која нам је потребна ће изгледати овако:

Спајање две листе без дупликата

На први поглед изгледа језиво, али, у ствари, није све тако страшно. Дозволите ми да проширим ову формулу на неколико редова користећи комбинацију тастера Алт+Ентер и увучем размаке, као што смо урадили, на пример овде:

Спајање две листе без дупликата

Логика овде је следећа:

  • Формула ИНДЕКС(Листа1;МАТЦХ(0;ЦОУНТИФ($Е$1:Е1;Лист1); 0) бира све јединствене елементе са прве листе. Чим их понестане, почиње да даје грешку #Н/А:

    Спајање две листе без дупликата

  • Формула ИНДЕКС(Листа2;МАТЦХ(0;ЦОУНТИФ($Е$1:Е1;Листа2); 0)) издваја јединствене елементе из друге листе на исти начин.
  • Угнежђене једна у другу две функције ИФЕРРОР имплементирају излаз прво јединствених са листе-1, а затим из листе-2 један за другим.

Имајте на уму да је ово формула низа, односно да се након куцања мора унети у ћелију која није обична унети, али са пречицом на тастатури Цтрл+смена+унети а затим копирајте (превуците) надоле до подређених ћелија са маргином.

У енглеској верзији Екцел-а, ова формула изгледа овако:

=ИФГРЕШКА(ИФГРЕШКА(ИНДЕКС(Листа1, ПОДРЖАВАЊЕ(0, ЦОУНТИФ($Е$1:Е1, Листа1), 0)), ИНДЕКС(Листа2, ПОДРЖАВАЊЕ(0, БРОЈ($Е$1:Е1, Листа2), 0)) ), “”) 

Лоша страна овог приступа је што формуле низа приметно успоравају рад са датотеком ако изворне табеле имају велики (неколико стотина или више) број елемената. 

Метод 3. Повер Куери

Ако ваше изворне листе имају велики број елемената, на пример, неколико стотина или хиљада, онда је уместо споре формуле низа боље користити фундаментално другачији приступ, односно Повер Куери додатке. Овај додатак је подразумевано уграђен у Екцел 2016. Ако имате Екцел 2010 или 2013, можете га засебно преузети и инсталирати (бесплатно).

Алгоритам акција је следећи:

  1. Отворите посебну картицу инсталираног додатка Повер Куери (ако имате Екцел 2010-2013) или само идите на картицу Датум (ако имате Екцел 2016).
  2. Изаберите прву листу и притисните дугме Из табеле/опсега (Из домета/Табела). На питање о креирању „паметног стола“ са наше листе, слажемо се:

    Спајање две листе без дупликата

  3. Отвара се прозор уређивача упита, где можете видети учитане податке и назив упита Табела КСНУМКС (можете га променити у свој ако желите).
  4. Двапут кликните на заглавље табеле (ворд Листа КСНУМКС) и преименујте га у било који други (нпр Ljudi). Шта тачно именовати није важно, али измишљено име мора да се запамти, јер. мораће се поново користити касније приликом увоза друге табеле. Спајање две табеле у будућности ће функционисати само ако се наслови њихових колона подударају.
  5. Проширите падајућу листу у горњем левом углу затворите и преузмите и изаберите Затворите и учитајте у… (Затвори и учитај у…):

    Спајање две листе без дупликата

  6. У следећем дијалошком оквиру (можда изгледа мало другачије – немојте се узнемиравати), изаберите Само створите везу (Само креирајте везу):

    Спајање две листе без дупликата

  7. Понављамо цео поступак (тачке 2-6) за другу листу. Приликом преименовања заглавља колоне, важно је да користите исто име (Људи) као у претходном упиту.
  8. У прозору Екцел на картици Датум или на картици Повер Куери Изаберите Добијте податке – Комбинујте захтеве – Додајте (Преузми податке — Обједини упите — Додај):

    Спајање две листе без дупликата

  9. У оквиру за дијалог који се појави изаберите наше захтеве са падајућих листа:

    Спајање две листе без дупликата

  10. Као резултат, добићемо нови упит, где ће две листе бити повезане једна испод друге. Остаје да уклоните дупликате помоћу дугмета Избриши редове – Уклони дупликате (Избриши редове — Избриши дупликате):

    Спајање две листе без дупликата

  11. Завршени упит се може преименовати на десној страни панела са опцијама, дајући му здраво име (ово ће у ствари бити име табеле резултата) и све се може учитати на лист помоћу команде затворите и преузмите (Затвори&Учитај):

    Спајање две листе без дупликата

У будућности, са било каквим изменама или допунама оригиналних листа, биће довољно само да кликнете десним тастером миша да бисте ажурирали табелу резултата.

  • Како прикупити више табела из различитих датотека користећи Повер Куери
  • Издвајање јединствених ставки са листе
  • Како упоредити две листе једна са другом за подударности и разлике

Ostavite komentar