Połącz 2 arkusze Google i zaktualizuj dane na podstawie wspólnych rekordów

  • Udostępnij To
Michael Brown

W dzisiejszym wpisie przedstawimy wszystkie sposoby na połączenie 2 Arkuszy Google. Użyjemy VLOOKUP, INDEX/MATCH, QUERY oraz dodatku Merge Sheets do aktualizacji komórek w jednym arkuszu z rekordów z drugiego arkusza na podstawie dopasowań we wspólnych kolumnach.

    Scalanie arkuszy Google za pomocą funkcji VLOOKUP

    Pierwszą rzeczą, do której możesz się zwrócić, gdy musisz dopasować i scalić dwa arkusze Google, jest funkcja VLOOKUP.

    Składnia & użycie

    Funkcja ta przeszukuje kolumnę określoną przez użytkownika dla pewnej wartości kluczowej i wyciąga jeden z powiązanych rekordów z tego samego wiersza do innej tabeli lub arkusza.

    Chociaż Google Sheets VLOOKUP jest zwykle uważany za jedną z trudnych funkcji, w rzeczywistości jest dość prosty, a nawet łatwy, gdy go poznasz.

    Przyjrzyjmy się szybko jego składnikom:

    =VLOOKUP(search_key, range, index, [is_sorted])
    • klucz wyszukiwania to szukana wartość kluczowa, którą może być dowolny ciąg tekstowy, liczba lub odwołanie do komórki.
    • zakres to ta grupa komórek (lub tabela), w której będziesz szukał klucz wyszukiwania i skąd będziesz wyciągał powiązane rekordy.

      Uwaga. VLOOKUP w Google Sheets zawsze skanuje pierwszą kolumnę zakres dla klucz wyszukiwania .

    • indeks jest numerem kolumny w ramach tego zakres z którego chcesz wyciągnąć dane.

      Na przykład, jeśli twój zakres do przeszukiwania to A2:E20 i to kolumna E, z której musisz pobrać dane, wpisz 5. Ale jeśli twój zakres to D2:E20, musisz wpisać 2, aby uzyskać rekordy z kolumny E.

    • [is_sorted] Jest to jedyny argument, który można pominąć. Służy do określenia, czy kolumna z kluczowymi wartościami jest posortowana (TRUE) czy nie (FALSE). Jeśli TRUE, funkcja będzie pracować z najbliższym dopasowaniem, jeśli FALSE - z pełnym. Gdy pominięty, TRUE jest używany domyślnie.

    Tip. Mamy szczegółowy przewodnik poświęcony VLOOKUP w Google Sheets. Sprawdź go, aby dowiedzieć się więcej o funkcji, jej osobliwościach & ograniczeniach i uzyskać więcej przykładów formuł.

    Mając na uwadze te argumenty, użyjmy VLOOKUP do połączenia dwóch arkuszy Google.

    Załóżmy, że mam małą tabelę z jagodami i ich identyfikatorami w Arkuszu2. Dostępność zapasów jest jednak nieznana:

    Nazwijmy tę tabelę główną, ponieważ moim celem jest jej wypełnienie.

    W Arkuszu1 znajduje się również inna tabela, w której znajdują się wszystkie dane, w tym dostępność zapasów:

    Nazwę to tabelą lookup, ponieważ będę do niej zaglądał, aby uzyskać dane.

    Do połączenia tych 2 arkuszy użyję funkcji Google Sheets VLOOKUP. Funkcja dopasuje jagody w obu tabelach i wyciągnie odpowiednie "stock" info z lookup do głównej tabeli.

    =VLOOKUP(B2,Arkusz1!$B$2:$C$10,2,FALSE)

    Oto jak ta formuła łączy dokładnie dwa arkusze Google:

    1. Szuka wartości z B2 (arkusz główny) w kolumnie B na Arkuszu1 (arkusz lookup).

      Pamiętaj, że VLOOKUP skanuje 1. kolumnę określonego zakresu -. Arkusz1!$B$2:$C$10 .

      Uwaga. używam absolutnych odniesień dla zakresu, ponieważ kopiuję formułę w dół kolumny i stąd potrzebuję, aby ten zakres pozostał taki sam w każdym wierszu, więc wynik nie łamie się.

    2. FALSE na końcu mówi, że dane w kolumnie B (w arkuszu lookup) nie są posortowane, więc tylko dokładne dopasowania będą brane pod uwagę.
    3. Gdy istnieje dopasowanie, Google Sheets VLOOKUP wyciąga powiązany rekord z drugiej kolumny tego zakresu (kolumna C).

    Ukrywanie błędów zwracanych przez VLOOKUP w Arkuszach Google - IFERROR

    Ale co z tymi błędami #N/A?

    Widzisz je w tych wierszach, w których jagody nie mają dopasowań w innym arkuszu i nie ma nic do zwrócenia. Na szczęście istnieje sposób, aby zamiast tego takie komórki były puste.

    Po prostu zawiń swój Google Sheets VLOOKUP w IFERROR:

    =IFERROR(VLOOKUP(B2,Arkusz1!$B$2:$C$10,2,FALSE),"")

    Wskazówka. Wyłapuj i naprawiaj inne błędy, które może zwrócić VLOOKUP Google Sheets, korzystając z rozwiązań zawartych w tym poradniku.

    Dopasuj & aktualizuj rekordy dla całej kolumny jednocześnie - ArrayFormula

    Jeszcze jedna rzecz, o której chciałbym wspomnieć, to sposób dopasowywania i scalania danych Google Sheets dla całej kolumny jednocześnie.

    Nie ma tu nic wymyślnego, po prostu jeszcze jedna funkcja - ArrayFormula.

    Po prostu zastąp swój jednokomórkowy rekord klucza w Google Sheets VLOOKUP całą kolumną i umieść tę całą formułę wewnątrz ArrayFormula:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,Arkusz1!$B$2:$C$10,2,FALSE),""))

    Dzięki temu nie będziesz musiał kopiować formuły w dół kolumny. ArrayFormula od razu zwróci prawidłowy wynik do każdej komórki.

    Chociaż VLOOKUP w Google Sheets jest idealny do takich prostych zadań, ma pewne ograniczenia. Oto jedna z wad: nie może patrzeć na swoją lewą stronę. Niezależnie od tego, jaki zakres wskażesz, zawsze skanuje jego pierwszą kolumnę.

    Tak więc, jeśli musisz połączyć 2 arkusze Google i wyciągnąć identyfikatory (dane z pierwszej kolumny) na podstawie jagód (druga kolumna), VLOOKUP nie pomoże. Po prostu nie będziesz w stanie zbudować poprawnej formuły.

    W takich przypadkach do gry wkracza INDEX MATCH dla Google Sheets.

    Match & merge Google sheets using INDEX MATCH duo

    INDEX MATCH, a raczej INDEX & MATCH, to w rzeczywistości dwie różne funkcje Google Sheets. Ale kiedy są używane razem, to jest jak następny poziom VLOOKUP.

    Tak, łączą również arkusze Google: aktualizują komórki w jednej tabeli z rekordami z innej tabeli na podstawie wspólnych rekordów kluczowych.

    Ale robią to znacznie lepiej, ponieważ ignorują wszystkie te ograniczenia, które ma VLOOKUP.

    Nie będę dzisiaj omawiał wszystkich podstaw, ponieważ zrobiłem to w tym wpisie na blogu. Ale dam ci kilka przykładów formuły INDEX MATCH, abyś mógł zobaczyć, jak działają one bezpośrednio w arkuszach kalkulacyjnych Google. Użyję tych samych przykładowych tabel z góry.

    INDEX MATCH w akcji w Google Sheets

    Najpierw połączmy te arkusze Google i zaktualizujmy dostępność zapasów dla wszystkich pasujących jagód:

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

    Jak działają INDEX & MATCH, gdy są używane razem w ten sposób?

    1. MATCH patrzy na B2 i szuka dokładnie tego samego rekordu w kolumnie B na Arkuszu1. Po znalezieniu zwraca numer wiersza, który zawiera tę wartość - w moim przypadku 10.
    2. INDEX przechodzi do tego 10 wiersza na Arkuszu1 również, tylko pobiera wartość z innej kolumny - C.

    Teraz spróbujmy przetestować INDEX MATCH przeciwko temu, czego Google Sheets VLOOKUP nie może zrobić - scalić arkusze i zaktualizować lewą kolumnę z wymaganymi identyfikatorami:

    =INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0))

    Proste-łatwe :)

    Obsługa błędów zwracanych przez INDEX MATCH w Google Sheets

    Pójdźmy dalej i pozbądźmy się tych błędów w komórkach bez dopasowań. IFERROR znów pomoże, wystarczy, że jako pierwszy argument wstawisz swój arkusz Google Sheets INDEX MATCH.

    Przykład 1.

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

    Przykład 2.

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

    Teraz, jak połączyć te arkusze Google za pomocą INDEX MATCH i zaktualizować wszystkie komórki w całej kolumnie jednocześnie?

    Cóż... Nie masz, jest mały problem: ArrayFormula nie działa z tymi dwoma.

    Będziesz musiał skopiować formułę INDEX MATCH w dół kolumny lub użyć funkcji Google Sheets QUERY jako alternatywy.

    Scalanie arkuszy Google & aktualizacja komórek przy użyciu QUERY

    Google Sheets QUERY to najpotężniejsza funkcja w arkuszach kalkulacyjnych. Mając to na uwadze, nie jest zaskoczeniem, że oferuje sposób na rodzaj łączenia tabel - dopasowanie & łączenie wartości z różnych arkuszy.

    =QUERY(dane, zapytanie, [nagłówki])

    Wskazówka. Jeśli nigdy wcześniej nie korzystałeś z Google Sheets QUERY, ten tutorial wprowadzi Cię przez jego osobliwy język.

    Jak powinna wyglądać formuła QUERY, aby zaktualizować Stock z rzeczywistymi danymi?

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

    • Google Sheets QUERY patrzy na mój arkusz wyszukujący (Arkusz1 z rekordami, które muszę ściągnąć do mojej głównej tabeli)
    • i zwraca wszystkie te komórki z kolumny C, gdzie kolumna B pasuje do jagód w mojej głównej tabeli

    Pozwolę sobie zgubić te błędy dla komórek bez zapałek:

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

    No to już lepiej :)

    Łączenie tabel z różnych arkuszy Google - funkcja IMPORTRANGE

    Jest jeszcze jedna funkcja, o której chciałbym wspomnieć. Jest ona ważna, ponieważ pozwala na łączenie arkuszy, które znajdują się w różnych arkuszach (plikach) Google.

    Funkcja ta nazywa się IMPORTRANGE:

    =IMPORTRANGE("arkusz kalkulacyjny_url", "range_string")
    • w pierwszym z nich jest link do arkusza kalkulacyjnego, z którego pobierasz dane.
    • w tym ostatnim idzie arkusz & zakres, który chcesz wziąć z tego arkusza kalkulacyjnego

    Uwaga. Gorąco polecam przejście przez Google docs na temat tej funkcji, aby nie przegapić żadnego ważnego niuansu jego pracy.

    Wyobraź sobie, że Twój arkusz wyszukujący (z danymi referencyjnymi) znajduje się w arkuszu kalkulacyjnym 2 (aka lookup spreadsheet). Twój główny arkusz znajduje się w arkuszu kalkulacyjnym 1 (main spreadsheet).

    Uwaga: Aby IMPORTRANGE działał, musisz połączyć oba pliki. I chociaż Arkusz Google proponuje przycisk do tego celu zaraz po wpisaniu formuły do komórki i kliknięciu przycisku Wejdź na stronę , w przypadku poniższych wzorów może być konieczne zrobienie tego wcześniej, pomoże Ci w tym ten przewodnik krok po kroku.

    Poniżej znajdują się przykłady łączenia arkuszy Google z różnych plików za pomocą IMPORTRANGE z każdą funkcją, którą poznałeś wcześniej dzisiaj.

    Przykład 1. IMPORTRANGE + VLOOKUP

    Użyj IMPORTRAGE jako zakresu w VLOOKUP, aby połączyć 2 oddzielne arkusze kalkulacyjne Google:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10"),2,FALSE),"))

    Przykład 2. IMPORTRANGE + INDEX MATCH

    Jeśli chodzi o INDEX MATCH & IMPORTRANGE, formuła staje się bardziej obszerna, ponieważ musisz odwołać się do innego arkusza kalkulacyjnego dwukrotnie: jako zakres dla INDEX i jako zakres dla MATCH:

    =IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$B$10"),0)),")

    Przykład 3. IMPORTRANGE + QUERY

    Ten tandem formuł jest moim osobistym faworytem. Mogą one poradzić sobie z prawie wszystkim w arkuszach kalkulacyjnych, gdy są używane razem. Łączenie arkuszy Google z oddzielnych arkuszy kalkulacyjnych nie jest wyjątkiem.

    =IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Arkusz1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$10&""),")

    Whew!

    To wszystko dla funkcji & formuł.

    Możesz swobodnie wybrać dowolną funkcję & zbudować własną formułę według powyższych przykładów....

    lub...

    ...wypróbuj specjalne narzędzie, które scala arkusze Google za Ciebie!!! ;)

    Bez formuły sposób na dopasowanie & scalanie danych - dodatek Merge Sheets dla Google Sheets

    Jeśli nie masz czasu na budowanie lub nawet uczenie się formuł, lub jeśli po prostu szukasz najłatwiejszego sposobu łączenia danych na podstawie wspólnych rekordów, Merge Sheets będzie idealny.

    Wszystko, co musisz zrobić, to zaznaczyć pola wyboru w 5 przyjaznych dla użytkownika krokach:

    1. wybierz swój główny arkusz
    2. wybierz swój arkusz wyszukiwania
    3. zaznaczyć kluczowe kolumny (te, które zawierają rekordy do dopasowania) za pomocą pól wyboru
    4. wybierz kolumny do aktualizacji:

  • dostosuj dodatkowe opcje, np. oznaczaj aktualizowane rekordy kolorem lub w kolumnie statusu itp.
  • Istnieje nawet możliwość zapisania wszystkich wybranych opcji w scenariuszu i ponownego wykorzystania go, gdy tylko zajdzie taka potrzeba:

    Obejrzyj 3-minutowy film demonstracyjny, aby zobaczyć jak to działa:

    Zachęcam do zainstalowania sobie Merge Sheets ze sklepu Google Sheets i podążania za tymi instrukcjami, aby spróbować zaktualizować własną tabelę o informacje z innego arkusza.

    Arkusz kalkulacyjny z przykładami formuł

    Scalanie arkuszy Google & aktualizacja danych - przykłady formuł (zrób kopię pliku)

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.