Kamil Kołecki
25 czerwca, 2025
Dzień dobry! Jeśli często pracujesz z tabelami w Google Sheets, to na pewno ucieszy Cię możliwość, którą daje funkcja VSTACK. To narzędzie, które znacząco upraszcza ten proces i eliminuje konieczność ręcznego kopiowania danych. Nie musisz być ekspertem od arkuszy, by skorzystać z jej potencjału. Gotowy na małą rewolucję w swojej codziennej pracy z danymi?
Funkcja VSTACK w Google Sheets służy do pionowego łączenia wielu zakresów danych w jeden ciągły blok. Działa dynamicznie, co oznacza, że gdy dane w źródłach się zmieniają, wynik również zaaktualizuje się automatycznie. To ogromne ułatwienie przy tworzeniu zestawień z różnych źródeł lub tabel.
Za pomocą funkcji VSTACK połączysz dwie kolumny z imionami.
Stwórz funkcję =VSTACK.
Zaznacz zakresy danych.
=VSTACK(B2:B4;D2:D4)
Przykład 1
W tym przykładzie posłużysz się 3 arkuszami: Poniedziałek, Wtorek, Środa. W każdym są dane przedstawiające ilość sprzedanych owoców. Celem tego zadania jest połączenie danych w ogólnym arkuszu o nazwie Suma.
Stwórz funkcję =VSTACK.
Zaznacz zakresy trzech arkuszy.
=VSTACK(’Poniedziałek’!B3:C5;Wtorek!B3:C5;’Środa’!B3:C5)
Przykład 2
Arkusz Google Sheets składa się z czterech kart: Suma, 1 tydzień, 2 tydzień i 3 tydzień. Każdy z nich przedstawia wyniki sprzedaży cegieł z firmy HOME-BUD z poszczególnych tygodni. Celem jest zebranie wszystkich danych z tych trzech tygodni w jednym, zbiorczym arkuszu o nazwie Suma tak, aby dane aktualizowały się automatycznie po każdej zmianie w tygodniowych arkuszach. Jak to zrobić?
Sposób I
W arkuszu Suma stwórz funkcję =VSTACK.
Określ zakres.
Kliknij w 1 tydzień zaznacz zakres od B3 do F9.
W arkuszu Suma połączyły się wszystkie trzy arkusze.
Cała formuła:
=VSTACK(’1 tydzień’!B3:F9;’2 tydzień’!B3:F9;’3 tydzień’!B3:F9)
Sposób II
Jeśli dodasz nowy wiersz do któregoś z arkuszy tygodniowych, a Twój zakres obejmuje tylko określoną liczbę wierszy (np. B2:F9), nowy wiersz nie pojawi się automatycznie w arkuszu Suma. Aby temu zapobiec, ustaw zakres obejmujący całe kolumny.
Zmieńmy dane w formule:
Nowy zapis formuły będzie wyglądać tak:
=VSTACK(’1 tydzień’!B3:F;’2 tydzień’!B3:F;’3 tydzień’!B3:F)
Co się stało z resztą danych? Przewiń na dół arkusza. Zrobiły się ogromne odstępy pomiędzy każdym tygodniem.
Aby, połączyć tak samo wszystkie dane, jak poprzednio, z możliwością dodawania nowych danych wystarczy zastosować formułę =QUERY. Składa się ona z takich parametrów, jak:
Poprzednią funkcję, czyli =VSTACK(’1 tydzień’!B3:F;’2 tydzień’!B3:F;’3 tydzień’!B3:F), musimy delikatnie zmienić.
Zamiast =VSTACK, zastosuj =QUERY.
Dodaj nawias otwarty, a poprzedni zmień na nawias klamrowy.
Dane zostają takie same. Pamiętaj, żeby dane zamknąć nawiasem klamrowym.
Wpisz „select * where Col2 is not null”. Co powoduje to wyrażenie? Pozwala na usunięcie wszystkich wierszy w tabeli, które mają puste wartości w kolumnie 2. Jeśli masz inną kolumnę, wystarczy ją zmienić na Col3, Col4, Col, itd.
Cała formuła:
=QUERY({’1 tydzień’!B3:F;’2 tydzień’!B3:F;’3 tydzień’!B3:F};”select * where Col2 is not null”)
Zwróć uwagę, że jeśli dodasz wiersz, który w kolumnie B nie będzie posiadał informacji, to te dane nie pojawią się. Aby to zadziałało, należy przerobić jeszcze raz funkcję, dodając:
=QUERY({’1 tydzień’!B3:F;’2 tydzień’!B3:F;’3 tydzień’!B3:F};”select * where Col2 is not null”)
W arkuszu są dwie kolumny grupy 1 oraz 2.
Gdy zaznaczyłbyś zakres razem z nagłówkami, to byłoby to niepoprawne – funkcja połączy je tak, jakby były zwykłymi danymi – bez wyraźnego podziału czy etykiety. Dlatego w funkcji należy uwzględnić dodatkowo nazwy nagłówków.
Stwórz funkcję =VSTACK.
Nadaj nazwę pierwszego nagłówka i określ zakres – tak samo postąp z drugim zakresem.
Cała funkcja wygląda tak:
=VSTACK({„Grupa1”};B3:B6;{„Grupa 2”};D3:D6)
W przedstawionych danych, w niektórych komórkach nie ma żadnej informacji o produkcie.
Jak to zrobić, aby puste pola nie pokazywały się w połączeniu kolumn? Spójrz i się przekonaj!
Stwórz funkcję =FILTER, a zaraz po niej VSTACK.
Określ warunki.
Na końcu dodaj <>””.
Cała funkcja:
=FILTER(VSTACK(B3:B8;D3:D8;F3:F8);VSTACK(B3:B8;D3:D8;F3:F8)<>””)
Zastosowanie znaku <>”” usuwa wszystkie puste wartości po scaleniu danych.
Tabela przedstawia najpopularniejsze firmy w Polsce i w Wielkiej Brytanii. W tym zadaniu wykorzystamy funkcję SORT, która sortuje dane alfabetycznie.
Stwórz funkcję =SORT, a następnie VSTACK.
Określ zakres danych. Możesz zaznaczyć konkretne dane lub całą kolumnę. Gdy będziesz chciał dopisać dane, to automatycznie dodadzą się do scalonej kolumny.
Wstaw liczbę 1, która sortuje według pierwszej kolumny zakresu.
Określ czy dane mają być posortowane od A do Z (TRUE) czy od Z do A (FALSE).
Cała formuła:
=SORT(VSTACK(B3:B;C3:C);1;PRAWDA)
Gala filmowa jest w piątek i w sobotę. Lista zawiera duplikowane imiona i nazwiska. Celem tego przykładu jest scalenie tych dwóch kolumn z usunięciem duplikatów z pomocą dodatkowej funkcji UNIQUE.
Stwórz funkcję UNIQUE i VSTACK.
Określ zakres danych.
Cała funkcja:
=UNIQUE(VSTACK(B4:C10;E4:F10))
UNIQUE to taka funkcja, która robi porządek bez gadania.
Już o niej pisaliśmy w artykule Jak znaleźć duplikat – zajrzyj obok i przekonaj się sam!
Dotarliśmy do końca! Funkcja VISTAC już nie jest taka straszna. Chciałbyś pogłębić swoją wiedzą o inne funkcje? Zajrzyj na inne artykuły na blogu Sunoger, a jeśli w trakcie narodzą Ci się jakieś pytania, możesz zadać je na arkuszowej grupie na Facebooku!