5 начина за сливане на листове на Google, добавяне на колони със свързани данни и вмъкване на несъответстващи редове

  • Споделя Това
Michael Brown

Знаете ли, че когато обединявате 2 листа на Google, можете не само да актуализирате записи в една колона, но и да изтегляте цели свързани колони и дори несъответстващи редове? Днес ще ви покажа как се прави това с функциите VLOOKUP, INDEX/MATCH, QUERY и добавката Merge Sheets.

Последния път, когато говорих за сливането на 2 листа на Google, споделих начини за съвпадение & актуализиране на данните. Този път все още ще актуализираме клетките, но ще изтеглим и други свързани колони и несъвпадащи редове.

    Това е моята таблица за търсене. Днес ще взема всички необходими данни от нея:

    Този път тя е по-голяма: има две допълнителни колони с имена на доставчици и техните рейтинги. Ще актуализирам колоната "Складови наличности" с тази информация в друга таблица и ще изтегля и доставчиците. Е, може би и рейтингите :)

    Както обикновено, ще използвам няколко функции и специална добавка за тази задача.

    Обединяване на листове на Google & добавяне на свързани колони с помощта на VLOOKUP

    Спомняте ли си VLOOKUP в Google Sheets? Използвах го в предишната си статия, за да сравня данни и да актуализирам някои клетки.

    Ако тази функция все още ви плаши, крайно време е да се сблъскате с нея и да я научите веднъж завинаги, защото днес ще я използвам и аз :)

    Съвет. Ако търсите бързо решение, което да ви спести време, веднага се запознайте с Merge Sheets.

    Нека направим кратко обобщение на синтаксиса на формулите:

    =VLOOKUP(search_key, range, index, [is_sorted])
    • search_key е това, което търсите.
    • обхват е мястото, което търсите.
    • индекс е номерът на колоната, от която се връща стойността.
    • [is_sorted] е напълно незадължителна и указва дали ключовата колона е сортирана.

    Съвет. В нашия блог има цял урок, посветен на VLOOKUP в Google Sheets, не се колебайте да го разгледате.

    Когато обединих два листа на Google и просто актуализирах данните в колоната Stock, използвах тази формула VLOOKUP:

    =ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,2,FALSE),""))

    IFERROR гарантира, че няма грешки в клетките без съвпадения, а ARRAYFORMULA обработва цялата колона наведнъж.

    И така, какви промени трябва да направя, за да изтегля и продавачите като нова колона от таблицата за търсене?

    Тъй като това е индекс която указва на Google Sheets VLOOKUP от коя колона да вземе данните, може да се каже, че тя е тази, която се нуждае от промяна.

    Най-простият начин е просто да копирате формулата в съседната колона и да увеличите нейния индекс с една (заменете 2 с 3 ):

    =ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,3,FALSE),""))

    Въпреки това ще трябва да вмъкнете същата формула с различен индекс толкова пъти, колкото допълнителни колони искате да получите.

    За щастие има по-добра алтернатива. Тя включва създаването на масиви. Масивите ви позволяват да комбинирате всички колони, които искате да извлечете, в един индекс.

    Когато създавате масив в Google Sheets, изброявате стойностите или препратките към клетки/обхвати в скоби, напр. ={1, 2, 3} или ={1; 2; 3}

    Подредбата на тези записи в листа зависи от разделителя:

    • Ако използвате точка и запетая, числата ще заемат различни редове в една колона:

  • Ако използвате запетая, тези числа ще се появят в отделни колони в един ред:
  • Последното е точно това, което трябва да направите в аргумента за индекса VLOOKUP на Google Sheets.

    Тъй като сливам листове на Google, актуализирам втората колона и изтеглям третата, трябва да създам масив с тези колони: {2, 3} :

    =ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,{2,3},FALSE),""))

    По този начин една VLOOKUP формула на Google Sheets съпоставя имената, актуализира информацията за запасите и добавя свързани доставчици в празна съседна колона.

    Съпоставяне на & сливане на листове и добавяне на колони с INDEX MATCH

    Следващата функция е INDEX MATCH. Тези две функции заедно се конкурират с VLOOKUP, тъй като заобикалят нейните ограничения при обединяването на листове на Google.

    Съвет. Запознайте се с INDEX MATCH за Google Sheets в този урок.

    Нека започна, като ви напомня формулата, която просто обединява една колона въз основа на съвпаденията:

    =IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")

    В тази формула, Sheet1!$C$1:$C$10 е колона с необходимите стойности, когато Лист1!$B$1:$B$10 отговаря на същата стойност като в B2 в текущата таблица.

    Като се имат предвид тези точки, е Sheet1!$C$1:$C$10 които трябва да промените, за да можете не само да обединявате таблици и да актуализирате клетки, но и да добавяте колони.

    За разлика от VLOOKUP в Google Sheets тук няма нищо сложно. Просто въвеждате диапазона с всички необходими колони: тази, която трябва да се актуализира, и другите, които трябва да се добавят. В моя случай това ще бъде Лист1!$C$1:$D$10 :

    =IFERROR(INDEX(Sheet1!$C$1:$D$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")

    Или мога да разширя обхвата до E10 да добавите 2 колони, а не само една:

    =IFERROR(INDEX(Sheet1!$C$1:$E$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")

    Забележка: Тези допълнителни записи винаги попадат в съседните колони. Ако тези колони имат други стойности, формулата няма да ги презапише. Тя ще ви даде грешка #REF със съответната подсказка:

    След като изчистите тези клетки или добавите нови колони вляво от тях, ще се появят резултатите от формулата.

    Сливане на листове Google, актуализиране на клетки & добавяне на свързани колони - всичко това с помощта на QUERY

    QUERY е една от най-мощните функции в електронните таблици на Google. Затова не е изненадващо, че днес ще я използвам, за да обединя няколко листа на Google, да актуализирам клетките и да добавям допълнителни колони едновременно.

    Тази функция се различава от останалите, тъй като един от аргументите ѝ използва команден език.

    Съвет. Ако се чудите как да използвате функцията QUERY в Google Sheets, посетете тази публикация в блога.

    Нека припомним формулата, която първо актуализира клетките:

    =IFERROR(QUERY(Sheet1!$A$2:$C$10, "изберете C където&QUERY!$B2:$B$10&""),"")

    Тук QUERY разглежда таблицата с необходимите данни в лист1, сравнява клетките в колона B с моята текуща нова таблица и обединява тези листове: за всяко съвпадение изтегля данни от колона C. IFERROR поддържа резултата без грешки.

    За да добавите допълнителни колони за тези съвпадения, трябва да направите две малки промени в тази формула:

    1. списък на всички задължителни колони за изберете команда:

      ...изберете C,D,E...

    2. разширете диапазона, за да изглеждате съответно:

      ...QUERY(Sheet1!$A$2:$E$10,...

    Ето пълната формула:

    =IFERROR(QUERY(Sheet1!$A$2:$E$10, "изберете C,D,E където&Sheet4!$B2:$B$10&""),"")

    Тя актуализира колоната за запаси и изтегля 2 допълнителни колони от таблицата за търсене към тази основна таблица.

    Как да добавяте несъответстващи редове с помощта на FILTER + VLOOKUP

    Представете си следното: сливате 2 листа на Google, актуализирате старата информация с новата и получавате нови колони с допълнителни свързани стойности.

    Какво още бихте могли да направите, за да имате пълна представа за наличните записи?

    Може би трябва да добавите несъответстващи редове в края на таблицата? По този начин ще имате всички стойности на едно място: не само съвпаденията с актуализираната свързана информация, но и несъответствията, за да бъдат отчетени.

    Бях приятно изненадан, че VLOOKUP на Google Sheets умее да прави това. Когато се използва заедно с функцията FILTER, тя обединява листове на Google и добавя и несъответстващи редове.

    Съвет. Накрая ще покажа и как една добавка прави същото с едно квадратче за отметка.

    Аргументите на Google Sheets FILTER са доста ясни:

    =FILTER(обхват, условие1, [условие2, ...])
    • обхват са данните, които искате да филтрирате.
    • условие1 е колона или ред с критерий за филтриране.
    • критерии2, критерии3 и т.н. са напълно незадължителни. Използвайте ги, когато трябва да използвате няколко критерия.

    Съвет. В тази публикация в блога ще научите повече за функцията FILTER на Google Sheets.

    И така, как тези две функции се съчетават и обединяват листове на Google? Ами, FILTER връща данните въз основа на критериите за филтриране, създадени от VLOOKUP.

    Вижте тази формула:

    =FILTER(Sheet1!$A$2:$E$10,ISERROR(VLOOKUP(Sheet1!$B$2:$B$10,$B$2:$C$10,2,FALSE)=1))

    Тя сканира 2 таблици на Google за съвпадения и изтегля несъответстващите редове от едната таблица в другата:

    Нека обясня как работи:

    1. ФИЛТЪР отива в листа за търсене (таблица с всички данни - Лист1!$A$2:$E$10 ) и използва VLOOKUP, за да получи правилните редове.
    2. VLOOKUP взема имената на елементите от колона В на този лист за търсене и ги сравнява с имената от текущата ми таблица. Ако няма съвпадение, VLOOKUP съобщава за грешка.
    3. ISERROR маркира всяка такава грешка с 1, като казва на FILTER да прехвърли този ред в друг лист.

    В резултат на това формулата извлича 3 допълнителни реда за тези плодове, които не се срещат в основната ми таблица.

    Не е толкова сложно, след като си поиграете малко с този метод :)

    Но ако не искате да прекарвате времето си в това, има по-добър и по-бърз начин - без нито една функция и формула.

    Начин за сравняване на данни без формули & сливане на данни - добавка Merge Sheets

    Добавката за сливане на листове обхваща всички 3 възможности за сливане на листове на Google:

    • актуализира свързаните клетки въз основа на съвпаденията.
    • добавя нови колони за тези съвпадения.
    • вмъква редове с несъответстващи записи

    За да се избегне объркване, процесът е разделен на 5 прости стъпки :

    • Първите две са там, където изберете вашите маси дори ако са в различни електронни таблици.
    • На 3d , трябва да изберете ключова(и) колона(и) които трябва да бъдат проверени за съвпадения.
    • Сайтът 4-та стъпка ви позволява да задаване на колоните за актуализиране с нови записи или добавете от един лист на друг:

  • И накрая. 5-та стъпка има това квадратче за отметка, което ще да се появят всички несъответстващи редове в края на текущата ви таблица:
  • Изминаха няколко секунди, докато видя резултата:

    Инсталирайте Merge Sheets от магазина на Google Sheets и ще видите, че обработва по-големи таблици също толкова бързо. Благодарение на Merge Sheets ще имате повече време за важни неща.

    Оставям и това 3-минутно демонстрационно видео, за да ви помогна да вземете решение :)

    Електронна таблица с примери за формули

    Сливане на листове на Google, добавяне на свързани колони & несъответстващи редове - примери за формули (направете копие на тази електронна таблица)

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.