Jak przełączać kolumny i wiersze w programie Excel

  • Udostępnij To
Michael Brown

Samouczek pokazuje różne sposoby zamiany wierszy na kolumny w Excelu: formuły, kod VBA oraz specjalne narzędzie.

Transpozycja danych w Excelu to zadanie znane wielu użytkownikom. Dość często budujesz złożoną tabelę tylko po to, aby zdać sobie sprawę, że obrócenie jej ma sens dla lepszej analizy lub prezentacji danych na wykresach.

W tym artykule znajdziesz kilka sposobów na konwersję wierszy na kolumny (lub kolumn na wiersze), jakkolwiek to nazwiesz, chodzi o to samo : ) Rozwiązania te działają we wszystkich wersjach Excela 2010 do Excela 365, obejmują wiele możliwych scenariuszy i wyjaśniają większość typowych błędów.

    Konwersja wierszy na kolumny w Excelu przy użyciu funkcji Wklej Specjalnie

    Załóżmy, że masz zbiór danych podobny do tego, co widzisz w górnej części poniższej grafiki. Nazwy krajów są uporządkowane w kolumnach, ale lista krajów jest zbyt długa, więc lepiej zamienić kolumny na wiersze, aby tabela zmieściła się na ekranie:

    Aby przełączyć wiersze na kolumny, wykonaj następujące czynności:

    1. Wybierz oryginalne dane Aby szybko wybrać całą tabelę, czyli wszystkie komórki z danymi w arkuszu kalkulacyjnym, naciśnij Ctrl + Home, a następnie Ctrl + Shift + End .
    2. Skopiuj wybrane komórki, klikając prawym przyciskiem myszy na zaznaczenie i wybierając Kopia z menu kontekstowego lub naciskając Ctrl + C .
    3. Wybierz pierwszą komórkę zakresu docelowego.

      Pamiętaj, aby wybrać komórkę, która znajduje się poza zakresem zawierającym oryginalne dane, tak aby obszary kopiowania i wklejania nie pokrywały się. Na przykład, jeśli obecnie masz 4 kolumny i 10 wierszy, przekonwertowana tabela będzie miała 10 kolumn i 4 wiersze.

    4. Kliknij prawym przyciskiem myszy komórkę docelową i wybierz Wklej Specjalnie z menu kontekstowego, a następnie wybierz Transpozycja .

    Więcej informacji znajdziesz w rozdziale Jak korzystać z funkcji Wklej Specjalnie w programie Excel.

    Uwaga. Jeśli dane źródłowe zawierają formuły, należy pamiętać o prawidłowym stosowaniu odniesień względnych i bezwzględnych w zależności od tego, czy powinny one być dostosowane, czy też pozostać zablokowane w określonych komórkach.

    Jak właśnie zauważyłeś, funkcja Wklejanie specjalne pozwala na wykonanie transformacji wiersza do kolumny (lub kolumny do wiersza) dosłownie w kilka sekund. Metoda ta kopiuje również formatowanie oryginalnych danych, co dodaje jeszcze jeden argument na jej korzyść.

    Podejście to ma jednak dwie wady które uniemożliwiają nazwanie go idealnym rozwiązaniem do transponowania danych w Excelu:

    • Nie jest dobrze przystosowany do obracania w pełni funkcjonalnych tabel Excela. Jeśli skopiujesz całą tabelę, a następnie otworzysz Wklej Specjalnie w oknie dialogowym, znajdziesz Transpozycja W takim przypadku należy albo skopiować tabelę bez nagłówków kolumn, albo najpierw przekonwertować ją na zakres.
    • Wklej Specjalnie > Transpozycja nie łączy nowej tabeli z oryginalnymi danymi, więc nadaje się tylko do jednorazowej konwersji. Za każdym razem, gdy dane źródłowe ulegną zmianie, trzeba będzie powtórzyć proces i obrócić tabelę na nowo. Nikt nie chciałby tracić czasu na przełączanie tych samych wierszy i kolumn w kółko, prawda?

    Jak transponować tabelę i połączyć ją z oryginalnymi danymi

    Zobaczmy, jak można zamienić wiersze na kolumny, używając znanej metody Wklej Specjalnie Technika, ale połącz wynikową tabelę z oryginalnym zbiorem danych. Najlepszą rzeczą w tym podejściu jest to, że za każdym razem, gdy zmienisz dane w tabeli źródłowej, odwrócona tabela odzwierciedli zmiany i odpowiednio je zaktualizuje.

    1. Skopiuj wiersze, które chcesz zamienić na kolumny (lub kolumny, które mają być zamienione na wiersze).
    2. Wybierz pustą komórkę w tym samym lub innym arkuszu.
    3. Otwórz Wklej Specjalnie okno dialogowe, jak wyjaśniono w poprzednim przykładzie i kliknij Wklejenie linku w lewym dolnym rogu:

    Otrzymasz wynik podobny do tego:

  • Zaznacz nową tabelę i otwórz okno dialogowe programu Excel Znajdź i zamień (lub naciśnij Ctrl + H, aby przejść do Wymienić zakładka od razu).
  • Zastąp wszystkie znaki "=" przez "xxx" lub dowolny inny znak (znaki), który nie istnieje nigdzie w twoich rzeczywistych danych.
  • To zmieni twój stół w coś nieco przerażającego, jak widać na poniższym zrzucie ekranu, ale nie panikuj, jeszcze tylko 2 kroki i osiągniesz pożądany efekt.

  • Skopiuj tabelę z wartościami "xxx", a następnie użyj Wklej Specjalnie> Transpozycja aby przerzucić kolumny do wierszy
  • Na koniec otwórz Znajdź i zamień dialog jeszcze raz, aby odwrócić zmiany, tj. zastąpić wszystkie "xxx" przez "=", aby przywrócić linki do oryginalnych komórek.
  • Jest to trochę długie, ale eleganckie rozwiązanie, prawda? Jedyną wadą tego podejścia jest to, że oryginalne formatowanie zostaje utracone w procesie i będziesz musiał przywrócić je ręcznie (pokażę ci szybki sposób, aby to zrobić w dalszej części tego samouczka).

    Jak transponować w Excelu za pomocą formuł

    Szybszym sposobem na dynamiczne przełączanie kolumn do wierszy w Excelu jest użycie formuły TRANSPOSE lub INDEX/ADDRESS. Podobnie jak w poprzednim przykładzie, formuły te również zachowują połączenia z oryginalnymi danymi, ale działają nieco inaczej.

    Zmiana wierszy na kolumny w Excelu przy użyciu funkcji TRANSPOSE

    Jak sama nazwa wskazuje, funkcja TRANSPOSE jest specjalnie zaprojektowana do transponowania danych w Excelu:

    =TRANSPOSE(tablica)

    W tym przykładzie będziemy konwertować inną tabelę, która zawiera listę stanów USA według populacji:

    1. Policz liczbę wierszy i kolumn w swojej oryginalnej tabeli i wybierz tę samą liczbę pustych komórek, ale w drugim kierunku.

      Na przykład nasza przykładowa tabela ma 7 kolumn i 6 wierszy, w tym nagłówki. Ponieważ funkcja TRANSPOSE zamieni kolumny na wiersze, wybieramy zakres 6 kolumn i 7 wierszy.

    2. Mając zaznaczone puste komórki, wpisz tę formułę:

      =TRANSPOSE(A1:G6)

    3. Ponieważ nasza formuła musi być stosowana do wielu komórek, naciśnij Ctrl + Shift + Enter, aby uczynić ją formułą tablicową.

    Voilà, kolumny są zmieniane na wiersze, dokładnie tak, jak chcieliśmy:

    Zalety funkcji TRANSPOSE:

    Główną zaletą stosowania funkcji TRANSPOZYCJA jest to, że obrócona tabela zachowuje połączenie z tabelą źródłową i kiedy tylko zmienisz dane źródłowe, transponowana tabela zmieni się odpowiednio.

    Słabe strony funkcji TRANSPOSE:

    • Oryginalne formatowanie tabeli nie jest zapisywane w przekonwertowanej tabeli, jak widać na powyższym zrzucie ekranu.
    • Jeśli w oryginalnej tabeli są puste komórki, transponowane komórki będą zawierać 0. Aby to naprawić, użyj TRANSPOSE w połączeniu z funkcją JEŻELI, jak wyjaśniono w tym przykładzie: Jak transponować bez zer.
    • Nie możesz edytować żadnych komórek w obróconej tabeli, ponieważ jest ona bardzo zależna od danych źródłowych. Jeśli spróbujesz zmienić jakąś wartość komórki, skończysz z błędem "Nie można zmienić części tablicy".

    Podsumowując, niezależnie od tego, jak dobra i łatwa w użyciu jest funkcja TRANSPOSE, z pewnością brakuje jej elastyczności i dlatego może nie być najlepszym rozwiązaniem w wielu sytuacjach.

    Więcej informacji na ten temat można znaleźć w artykule Funkcja Excel TRANSPOSE z przykładami.

    Konwersja wiersza na kolumnę za pomocą funkcji INDIRECT i ADDRESS

    W tym przykładzie, będzie używać kombinacji dwóch funkcji, co jest trochę trudne. Więc, obróćmy mniejszą tabelę, więc może lepiej skupić się na formule.

    Załóżmy, że masz dane w 4 kolumnach (A - D) i 5 wierszach (1 - 5):

    Aby kolumny zostały zamienione na wiersze, wykonaj następujące czynności:

    1. Wpisz poniższą formułę w najbardziej wysuniętej na lewo komórce zakresu docelowego, powiedzmy A7, i naciśnij klawisz Enter:

      =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))

    2. Kopiuj formułę w prawo i w dół do tylu wierszy i kolumn, ile potrzeba, przeciągając mały czarny krzyżyk w prawym dolnym rogu wybranych komórek:

    To wszystko! W twojej nowo utworzonej tabeli wszystkie kolumny zostały zamienione na wiersze.

    Jeśli twoje dane zaczynają się w jakimś wierszu innym niż 1 i kolumnie innej niż A, będziesz musiał użyć nieco bardziej złożonej formuły:

    =INDIRECT(ADRES(KOLUMNA(A1) - KOLUMNA($A$1) + WIERSZ($A$1), WIERSZ(A1) - WIERSZ($A$1) + KOLUMNA($A$1))))

    Gdzie A1 jest najbardziej lewą górną komórką tabeli źródłowej. Należy również pamiętać o stosowaniu bezwzględnych i względnych odniesień do komórek.

    Transponowane komórki wyglądają jednak bardzo prosto i nieciekawie w porównaniu z oryginalnymi danymi:

    Ale nie rozczarowuj się, ten problem można łatwo naprawić. Aby przywrócić oryginalne formatowanie, oto co robisz:

    • Skopiuj oryginalną tabelę.
    • Wybierz wynikową tabelę.
    • Kliknij prawym przyciskiem myszy na powstałej tabeli i wybierz Opcje wklejania > Formatowanie .

    Zalety : Ta formuła zapewnia bardziej elastyczny sposób przekształcania wierszy w kolumny w programie Excel. Pozwala na dokonywanie dowolnych zmian w transponowanej tabeli, ponieważ używasz zwykłej formuły, a nie formuły tablicowej.

    Niedociągnięcia : Widzę tylko jedno - utracono formatowanie danych porządkowych. Choć można je szybko przywrócić, jak pokazano powyżej.

    Jak działa ta formuła

    Teraz, gdy wiesz, jak używać kombinacji INDIRECT / ADDRESS, możesz chcieć uzyskać wgląd w to, co formuła faktycznie robi.

    Jak sama nazwa wskazuje, funkcja INDIRECT, służy do pośredniego odwoływania się do komórki. Ale prawdziwą potęgą INDIRECT jest to, że może ona zamienić dowolny ciąg znaków w referencję, w tym ciąg znaków, który budujemy za pomocą innych funkcji i wartości innych komórek. I to jest właśnie to, co zamierzamy zrobić. Jeśli nadążasz za tym, z łatwością zrozumiesz całą resztę : )

    Jak pamiętasz, w formule wykorzystaliśmy jeszcze 3 funkcje - ADRES, KOLUMNA i ROW.

    Funkcja ADDRESS uzyskuje adres komórki odpowiednio po podanych przez użytkownika numerach wierszy i kolumn. Należy pamiętać o kolejności: pierwszy - wiersz, drugi - kolumna.

    W naszej formule podajemy współrzędne w odwrotnej kolejności i to jest to, co faktycznie robi sztuczkę! Innymi słowy, ta część formuły ADDRESS(COLUMN(A1),ROW(A1)) zamienia wiersze na kolumny, czyli bierze numer kolumny i zamienia go na numer wiersza, a następnie bierze numer wiersza i zamienia go na numer kolumny.

    Na koniec funkcja INDIRECT wyprowadza obrócone dane. Nic strasznego, prawda?

    Transpozycja danych w Excelu przy użyciu makra VBA

    Aby zautomatyzować konwersję wierszy na kolumny w programie Excel, można użyć następującego makra:

    Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Proszę wybrać zakres do transpozycji" , Title:= "Transpose Rows to Columns" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Wybierz lewą górną komórkę zakresu docelowego" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange. SelectSelection.PasteSpecial Wklejanie:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End Sub

    Aby dodać makro do arkusza, należy postępować zgodnie z wytycznymi opisanymi w rozdziale Jak wstawić i uruchomić kod VBA w Excelu.

    Uwaga. Transponowanie za pomocą VBA, ma ograniczenie do 65536 elementów. W przypadku, gdy twoja tablica przekroczy ten limit, dodatkowe dane zostaną cicho wyrzucone.

    Jak używać makra do konwersji wiersza na kolumnę

    Mając wstawione makro w swoim skoroszycie, wykonaj poniższe kroki, aby obrócić swoją tabelę:

    1. Otwórz arkusz docelowy, naciśnij Alt + F8 , wybierz TransposeColumnsRows makro, a następnie kliknij Uruchom .

  • Wybierz zakres, w którym chcesz przełączyć wiersze i kolumny i kliknij OK :
  • Zaznacz lewą górną komórkę zakresu docelowego i kliknij OK :
  • Ciesz się efektem :)

    Przełączanie kolumn i wierszy za pomocą narzędzia Transpozycja

    Jeśli potrzebujesz regularnie wykonywać przekształcenia wierszy w kolumny, to może faktycznie szukasz szybszego i prostszego sposobu. Na szczęście ja mam taki sposób w swoim Excelu, podobnie jak inni użytkownicy naszego Ultimate Suite :)

    Pozwól, że pokażę Ci, jak przełączać wiersze i kolumny w Excelu dosłownie w kilku kliknięciach:

    1. Zaznacz dowolną pojedynczą komórkę w tabeli, przejdź do Ablebits tab> Transformacja grupę, a następnie kliknij przycisk Transpozycja przycisk.

  • Ustawienia domyślne działają dobrze w większości przypadków, więc wystarczy kliknąć Transpozycja nie zmieniając niczego.
  • Jeśli chciałbyś Tylko wklejanie wartości lub Tworzenie linków do danych źródłowych aby wymusić automatyczną aktualizację obróconej tabeli przy każdej zmianie dokonanej w oryginalnej tabeli, wybierz odpowiednią opcję.

    Gotowe! Tabela jest transponowana, formatowanie jest zachowane, nie są potrzebne żadne dalsze manipulacje:

    Jeśli jesteś ciekawy jak wypróbować to i 70+ innych profesjonalnych narzędzi do Excela, zapraszam do pobrania wersji próbnej naszego Ultimate Suite. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!

    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.