5 способів об'єднати листи Google, додати стовпці з пов'язаними даними та вставити рядки, що не збігаються

  • Поділитися Цим
Michael Brown

Чи знали ви, що при об'єднанні 2-х таблиць Google можна не тільки оновлювати записи в одному стовпчику, але й витягувати цілі пов'язані стовпчики і навіть рядки, що не збігаються? Сьогодні я покажу вам, як це робиться за допомогою функцій VLOOKUP, INDEX/MATCH, QUERY і надбудови Merge Sheets.

Минулого разу, коли я розповідав про об'єднання 2 таблиць Google, я поділився способами зіставлення та оновлення даних. Цього разу ми все ще будемо оновлювати комірки, але також витягнемо інші пов'язані стовпці та рядки, що не збігаються.

    Ось моя таблиця, з якої я сьогодні візьму всі необхідні дані:

    Цього разу вона стала більшою: у ній з'явилися дві додаткові колонки з назвами постачальників та їхніми рейтингами. Я доповню колонку Stock цією інформацією в іншій таблиці, а також підтягну постачальників. Ну, можливо, ще й рейтинги :)

    Як завжди, я буду використовувати кілька функцій і спеціальний додаток для роботи.

    Об'єднати таблиці Google та додати пов'язані стовпці за допомогою VLOOKUP

    Пам'ятаєте Google Sheets VLOOKUP? Я використовував його в моїй попередній статті для зіставлення даних та оновлення деяких комірок.

    Якщо ця функція все ще відлякує вас, то саме час змиритися з цим і вивчити її раз і назавжди, тому що сьогодні я теж збираюся нею скористатися :)

    Порада: якщо ви шукаєте швидке рішення, яке заощадить ваш час, одразу знайомтеся з Merge Sheets.

    Давайте зробимо короткий огляд синтаксису формули:

    =VLOOKUP(ключ_пошуку, діапазон, індекс, [is_sorted])
    • ключ_пошуку це те, що ти шукаєш.
    • діапазон це те, що ви шукаєте.
    • індекс номер стовпця, з якого потрібно повернути значення.
    • [is_sorted] є абсолютно необов'язковим і вказує на те, чи відсортовано ключовий стовпець.

    Порада: на нашому блозі є цілий урок, присвячений VLOOKUP Google Sheets, обов'язково подивіться.

    Коли я об'єднав два гугл-аркуші і просто оновив дані в стовпчику "Запаси", я використав цю формулу 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 Таблицях в дужках перераховуються значення або посилання на клітинки/діапазони, наприклад ={1, 2, 3} або ={1; 2; 3}

    Розташування цих записів на аркуші залежить від роздільника:

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

  • Якщо ви використовуєте кому, то ці цифри будуть відображатися в окремих колонках підряд:
  • Останнє якраз і потрібно зробити в аргументі індексу VLOOKUP Google Sheets.

    Оскільки я об'єдную гугл-аркуші, оновлюю 2-й стовпець і витягую 3-й, то мені потрібно створити масив з цими стовпцями: {2, 3} :

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

    Таким чином, одна формула VLOOKUP в Google Sheets співставляє назви, оновлює інформацію про запаси та додає пов'язаних постачальників у порожній сусідній стовпчик.

    Зіставлення та об'єднання аркушів і додавання стовпців за допомогою INDEX MATCH

    Ці дві функції разом складають конкуренцію VLOOKUP, оскільки обходять його обмеження при об'єднанні аркушів Google.

    Порада. Дізнайтеся більше про INDEX MATCH для Google Sheets в цьому уроці.

    Дозвольте мені почати з нагадування формули, яка просто об'єднує один стовпчик на основі збігів:

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

    У цій формулі, Аркуш 1! це стовпець зі значеннями, які вам потрібні, коли Аркуш 1! $B$1:$B$10 відповідає тому ж значенню, що і в B2 у поточній таблиці.

    З огляду на зазначене, це Аркуш 1! що потрібно змінити, щоб не просто об'єднати таблиці та оновити комірки, а й додати стовпці.

    На відміну від 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, оновлення комірок і додавання додаткових стовпців одночасно.

    Ця функція відрізняється від інших тим, що один з її аргументів використовує командну мову.

    Порада: якщо вам цікаво, як користуватися функцією ЗАПИТ в Google Таблицях, відвідайте цей блог.

    Спочатку згадаємо формулу, яка оновлює комірки:

    =IFERROR(QUERY(Sheet1!$A$2:$C$10, "select C where&QUERY!$B2:$B$10&"""),"")

    Тут QUERY переглядає таблицю з потрібними даними на аркуші 1, співставляє комірки в стовпці B з моєю поточною новою таблицею, і об'єднує ці аркуші: витягує дані з стовпця C для кожного збігу. IFERROR зберігає результат без помилок.

    Щоб додати додаткові стовпчики для цих матчів, потрібно внести 2 невеликі зміни в цю формулу:

    1. перерахувати всі обов'язкові колонки для вибрати командування:

      ...виберіть C, D, E...

    2. розширити асортимент, щоб виглядати відповідно:

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

    Ось повна формула:

    =IFERROR(QUERY(Лист1!$A$2:$E$10, "select C,D,E where&Лист4!$B2:$B$10&"""),"")

    Він оновлює стовпець запасів і витягує 2 додаткові стовпці з таблиці пошуку в цю основну таблицю.

    Як додати рядки, що не збігаються, за допомогою ФІЛЬТР + ВПЛИВ

    Уявіть собі: ви об'єднуєте 2 гугл-аркуші, оновлюєте стару інформацію на нову і отримуєте нові стовпчики з додатковими пов'язаними значеннями.

    Що ще можна було б зробити, щоб мати повну картину наявних записів?

    Можливо, додати рядки, що не збігаються, в кінець таблиці? Таким чином, ви матимете всі значення в одному місці: не тільки збіги з оновленою відповідною інформацією, але й не збіги, щоб їх можна було врахувати.

    Я був приємно здивований, що Google Sheets VLOOKUP вміє це робити. При використанні разом з функцією FILTER він об'єднує аркуші Google, а також додає рядки, що не збігаються.

    Порада: В кінці я також покажу, як одне доповнення робить те ж саме за допомогою одного прапорця.

    Аргументи ФІЛЬТРА Google Sheets досить зрозумілі:

    =ФІЛЬТР(діапазон, умова1, [умова2, ...])
    • діапазон дані, які ви хочете відфільтрувати.
    • умова1 стовпець або рядок з критерієм фільтрації.
    • критерії2, критерії3 і т.д. є абсолютно необов'язковими. Використовуйте їх, коли потрібно використовувати декілька критеріїв.

    Порада. Детальніше про функцію ФІЛЬТР Google Таблиць ви дізнаєтесь у цьому блозі.

    Так як же ці дві функції уживаються разом і об'єднують таблиці Google? Ну, FILTER повертає дані на основі критеріїв фільтрації, створених VLOOKUP.

    Подивіться на цю формулу:

    =FILTER(Лист1!$A$2:$E$10,ISERROR(VLOOKUP(Лист1!$B$2:$B$10,$B$2:$C$10,2,FALSE)=1))

    Він сканує 2 таблиці Google на наявність збігів і витягує рядки, що не збігаються, з однієї таблиці в іншу:

    Поясню, як це працює:

    1. ФІЛЬТР переходить до листа пошуку (таблиця з усіма даними - таблиця з даними Лист 1! $A$2:$E$10 ) і використовує VLOOKUP для отримання правильних рядків.
    2. VLOOKUP бере назви елементів з колонки B на цьому аркуші пошуку і порівнює їх з назвами з моєї поточної таблиці. Якщо збігу немає, VLOOKUP повідомляє, що сталася помилка.
    3. ISERROR позначає кожну таку помилку цифрою 1, вказуючи FILTERу перенести цей рядок на інший аркуш.

    В результаті формула витягує 3 додаткові рядки для тих ягід, які не зустрічаються в моїй основній таблиці.

    Це не так вже й складно, якщо трохи погратися з цим методом :)

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

    Безформульний спосіб зіставлення та об'єднання даних - надбудова Merge Sheets

    Доповнення Merge Sheets охоплює всі 3 можливості при об'єднанні аркушів Google:

    • оновлює пов'язані комірки на основі збігів
    • додає нові стовпці для цих матчів
    • вставляє рядки з записами, що не збігаються

    Щоб уникнути плутанини, процес поділяється на 5 простих кроків :

    • Перші два там, де ви обирайте столики навіть якщо вони знаходяться в різних таблицях.
    • На 3-й ви повинні вибрати ключову(і) колонку(и) які слід перевірити на збіги.
    • На сьогоднішній день, на жаль, це не так. 4-й крок дозволяє вам встановити стовпці для оновлення з новими рекордами або додати з одного аркуша на інший:

  • Насамкінець, в рамках проекту 5-й крок має цей прапорець, який буде зробити так, щоб з'явилися всі рядки, що не збігаються в кінці вашої поточної таблиці:
  • Пройшло кілька секунд, і я побачив результат:

    Встановіть Merge Sheets з магазину Google Таблиць, і ви побачите, що він обробляє великі таблиці так само швидко. Завдяки Merge Sheets у вас буде більше часу на важливі справи.

    Я також залишу це 3-хвилинне демонстраційне відео, щоб допомогти вам визначитися :)

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

    Об'єднати гугл-аркуші, додати пов'язані стовпці та рядки, що не збігаються - приклади формул (зробити копію цієї таблиці)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.