Funkcja Excel TOROW do przekształcania zakresu lub tablicy w wiersz

  • Udostępnij To
Michael Brown

Szybki sposób na przekształcenie zakresu komórek w jeden wiersz za pomocą TOROW funkcja.

Microsoft Excel 365 wprowadził kilka nowych funkcji do wykonywania różnych manipulacji z tablicami. Dzięki TOROW możesz błyskawicznie wykonać transformacje zakresu do wiersza. Oto lista zadań, które może wykonać ta nowa funkcja:

    Funkcja TOROW w programie Excel

    Funkcja TOROW w Excelu służy do przekształcenia tablicy lub zakresu komórek w jeden wiersz.

    Funkcja przyjmuje w sumie trzy argumenty, z których tylko pierwszy jest wymagany.

    TOROW(tablica, [ignore], [scan_by_column])

    Gdzie:

    Array (wymagane) - tablica lub zakres do przekształcenia w pojedynczy wiersz.

    Zignoruj (opcjonalne) - określa, czy ignorować spacje lub/i błędy. Może przyjmować jedną z tych wartości:

    • 0 lub pominięty (domyślnie) - zachowaj wszystkie wartości
    • 1 - ignorowanie pustych miejsc
    • 2 - ignorowanie błędów
    • 3 - ignorowanie pustych miejsc i błędów

    Scan_by_column (opcjonalne) - określa sposób skanowania tablicy:

    • FALSE lub pominięty (domyślnie) - skanuje tablicę poziomo według wierszy.
    • TRUE - skanuje tablicę w pionie po kolumnie.

    Wskazówki:

    • Do przekształcenia tablicy w pojedynczą kolumnę służy funkcja TOCOL.
    • Aby wykonać odwrotną transformację wiersza do tablicy, użyj funkcji WRAPCOLS do zawijania do kolumn lub funkcji WRAPROWS do zawijania tablicy do wierszy.
    • Aby zamienić wiersze w kolumny, należy użyć funkcji TRANSPOZYCJA.

    dostępność TOROW

    TOROW to nowa funkcja, która jest obsługiwana tylko w Excelu dla Microsoft 365 (dla Windows i Mac) oraz Excelu dla sieci.

    Podstawowa formuła TOROW w programie Excel

    Aby wykonać proste przekształcenie zakresu na wiersz, należy użyć formuły TOROW w jej podstawowej postaci. W tym celu należy zdefiniować tylko pierwszy argument ( macierz ).

    Na przykład, aby zamienić tablicę dwuwymiarową składającą się z 3 kolumn i 3 wierszy w jeden wiersz, wzór to:

    =TOROW(A3:C6)

    Wprowadzasz formułę do jednej komórki (w naszym przypadku A10), a ona automatycznie rozlewa się na tyle komórek, ile potrzeba, aby pomieścić wszystkie wyniki. W terminologii Excela zakres wyjściowy otoczony cienką niebieską obwódką nazywany jest zakresem rozlewania.

    Jak działa ta formuła:

    Najpierw podany zakres komórek jest przekształcany w tablicę dwuwymiarową. Zwróć uwagę na rozdzielone przecinkami kolumny i rozdzielone średnikami wiersze:

    {"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}

    Następnie funkcja TOROW odczytuje tablicę od lewej do prawej i przekształca ją w jednowymiarową tablicę poziomą:

    {"Apple","Banana","Cherry",1,2,3,4,5,6,7,8,9}

    Wynik trafia do komórki A10, z której rozlewa się do sąsiedniej komórki po prawej stronie.

    Przekształć zakres w wiersz, ignorując puste miejsca i błędy

    Domyślnie funkcja TOROW zachowuje wszystkie wartości z tablicy źródłowej, w tym puste komórki i błędy. Na wyjściu w miejscu pustych komórek pojawiają się wartości zerowe, co może być dość mylące.

    Do wykluczyć puste miejsca , ustawić ignorować argument do 1:

    =TOROW(A3:C5, 1)

    Do ignorować błędy , ustawić ignorować argument do 2:

    =TOROW(A3:C5, 2)

    Aby pominąć obie, puste miejsca i błędy , użyj 3 dla ignorować argument:

    =TOROW(A3:C5, 3)

    Poniższy obrazek pokazuje wszystkie trzy scenariusze w akcji:

    Czytaj tablicę poziomo lub pionowo

    Przy domyślnym zachowaniu, funkcja TOROW przetwarza tablicę poziomo od lewej do prawej. Aby skanować wartości według kolumny od góry do dołu, ustawiasz trzeci argument ( scan_by_column ) na TRUE lub 1.

    Na przykład, aby odczytać zakres źródła według wiersza, formuła w E3 to:

    =TOROW(A3:C5)

    Aby zeskanować zakres według kolumn, formuła w E8 to:

    =TOROW(A3:C5, ,TRUE)

    W obu przypadkach tablice wynikowe mają ten sam rozmiar, ale wartości są ułożone w innej kolejności.

    Scalanie wielu zakresów w jeden wiersz

    Aby połączyć kilka nie sąsiadujących ze sobą zakresów w jeden rząd, najpierw układasz je poziomo lub pionowo w jedną tablicę za pomocą odpowiednio HSTACK lub VSTACK, a następnie używasz funkcji TOROW do przekształcenia połączonej tablicy w rząd.

    W zależności od twojej logiki biznesowej, jedna z poniższych formuł wykona zadanie.

    Układaj tablice poziomo i przeliczaj według wierszy

    Mając pierwszy zakres w A3:C4 i drugi zakres w A8:C9, poniższa formuła ułoży oba zakresy poziomo w jedną tablicę, a następnie przekształci ją w wiersz czytający wartości od lewej do prawej. Wynik znajduje się w E3 na poniższym obrazku.

    =TOROW(HSTACK(A3:C4, A8:C9))

    Układaj tablice poziomo i konwertuj według kolumn

    Aby odczytać tablicę ułożoną w stos pionowo z góry na dół, ustawiamy 3 argument TOROW na TRUE, jak pokazano w E5 na poniższym obrazku:

    =TOROW(HSTACK(A3:C4, A8:C9), ,TRUE)

    Układanie tablic w pionie i konwersja według wierszy

    Aby dołączyć każdą kolejną tablicę do dna poprzedniej i odczytać połączoną tablicę poziomo, wzór w E12 to:

    =TOROW(VSTACK(A3:C4, A8:C9))

    Układaj tablice w pionie i konwertuj według kolumn

    Aby dodać każdą kolejną tablicę do spodu poprzedniej i zeskanować połączoną tablicę w pionie, wzór to:

    =TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)

    Aby lepiej zrozumieć logikę, zaobserwuj inną kolejność wartości w wynikowych tablicach:

    Wyodrębnij unikalne wartości z zakresu w wierszu

    Począwszy od Microsoft Excel 2016, mamy wspaniałą funkcję o nazwie UNIQUE, która może łatwo uzyskać unikalne wartości z pojedynczej kolumny lub wiersza. Jednak nie może obsługiwać tablic wielokolumnowych. Aby pokonać to ograniczenie, użyj funkcji UNIQUE i TOROW razem.

    Na przykład, aby wyodrębnić wszystkie różne (distinct) wartości z zakresu A2:C7 i umieścić wyniki w jednym wierszu, formuła to:

    =UNIQUE(TOROW(A2:C7), TRUE)

    Ponieważ TOROW zwraca jednowymiarową tablicę poziomą, ustawiamy 2. ( przez_kol ) argumentu UNIQUE na TRUE, aby porównać kolumny względem siebie.

    W przypadku, gdy chcesz, aby wyniki były ułożone w porządku alfabetycznym, zawiń powyższą formułę w funkcję SORT:

    =SORT(UNIQUE(TOROW(A2:C7), TRUE), , ,TRUE )

    Podobnie jak w przypadku UNIQUE,. przez_kol argument SORT jest również ustawiony na TRUE.

    TOROW alternatywa dla Excel 365 - 2010

    W wersjach Excela, w których funkcja TOROW nie jest dostępna, można przekształcić zakres w pojedynczy wiersz za pomocą kombinacji kilku różnych funkcji, które działają w starszych wersjach. Te rozwiązania są bardziej złożone, ale działają.

    Aby zeskanować zakres w poziomie, ogólna formuła to:

    INDEX( zakres , QUOTIENT(KOLUMNA (A1)-1, KOLUMNY( zakres ))+1, MOD(KOLUMNA(A1)-1, KOLUMNY( zakres ))+1)

    Aby zeskanować zakres w pionie, ogólna formuła to:

    INDEX( zakres , MOD(KOLUMNA(A1)-1, KOLUMNY( zakres ))+1, ILORAZ(KOLUMNA (A1)-1, KOLUMNY( zakres ))+1)

    Dla naszego przykładowego zbioru danych w A3:C5 formuły przyjmują taki kształt:

    Aby przeskanować zakres według wierszy:

    =INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)

    Formuła ta jest alternatywą dla funkcji TOROW z trzecim argumentem ustawionym na FALSE lub pominiętym:

    =TOROW(A3:C5)

    Aby przeskanować zakres według kolumn:

    =INDEX($A$3:$C$5, MOD(KOLUMNA(A1)-1, KOLUMNY($A$3:$C$5))+1, ILORAZ(KOLUMNA(A1)-1, KOLUMNY($A$3:$C$5))+1)

    Formuła ta jest odpowiednikiem funkcji TOROW z trzecim argumentem ustawionym na TRUE:

    =TOROW(A3:C5, ,TRUE)

    Zwróć uwagę, że w przeciwieństwie do funkcji dynamicznej tablicy TOROW, te tradycyjne formuły należy wpisać w każdej komórce, w której chcemy, aby pojawiły się wyniki. W naszym przypadku pierwsza formuła (wg wiersza) trafia do E3 i jest kopiowana przez M3. Druga formuła (wg kolumny) ląduje w E8 i jest przeciągana przez M8.

    Aby formuły kopiowały się poprawnie, blokujemy zakres za pomocą odwołań bezwzględnych ($A$3:$C$5). Nazwany zakres też się nada.

    Jeśli skopiowałeś formuły do większej liczby komórek niż potrzeba, w "dodatkowych" komórkach pojawi się błąd #REF! Aby to naprawić, zawiń swoją formułę w funkcję IFERROR, jak poniżej:

    =IFERROR(INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1), "")

    Jak działają te formuły

    Poniżej znajduje się szczegółowe rozbicie pierwszej formuły, która porządkuje wartości według wierszy:

    =INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)

    W sercu formuły używamy funkcji INDEX, aby uzyskać wartość komórki na podstawie jej względnej pozycji w zakresie.

    Na stronie numer rzędu jest obliczany według tego wzoru:

    ILORAZ(KOLUMNA(A1)-1, KOLUMNY($A$3:$C$5))+1

    Chodzi o to, aby stworzyć powtarzający się ciąg liczbowy, taki jak 1,1,1,2,2,3,3, ..., gdzie każda liczba powtarza się tyle razy, ile jest kolumn w zakresie źródłowym. A oto jak to robimy:

    QUOTIENT zwraca część całkowitą podziału.

    Dla licznik , używamy COLUMN(A1)-1, który zwraca numer porządkowy od 0 w pierwszej komórce, w której wprowadzono formułę, do n (całkowita liczba wartości w zakresie minus 1) w ostatniej komórce, w której wprowadzono formułę. W tym przykładzie mamy 0 w E2 i 8 w M3.

    Dla mianownik , używamy COLUMNS($A$3:$C$5)). Zwraca to stałą liczbę równą liczbie kolumn w twoim zakresie (3 w naszym przypadku).

    W efekcie funkcja KWOTY zwraca 0 w pierwszych 3 komórkach (E3:G3), do których dodajemy 1, więc numer wiersza to 1.

    Dla kolejnych 3 komórek (H3:J3) QUOTIENT zwraca 1, a +1 daje numer wiersza 2. I tak dalej.

    Aby obliczyć numer kolumny , budujesz odpowiedni ciąg liczbowy korzystając z funkcji MOD:

    MOD(KOLUMNA(A1)-1, KOLUMNY($A$3:$C$5))+1

    Ponieważ w naszym zakresie są 3 kolumny, to sekwencja musi wyglądać tak: 1,2,3,...

    Funkcja MOD zwraca resztę po dzieleniu.

    W E3, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+.

    staje się

    MOD(1-1, 3)+1)

    i zwraca 1.

    W F3, MOD(COLUMN(B1)-1, COLUMNS($A$3:$C$5))+.

    staje się

    MOD(2-1, 3)+1)

    i zwraca 2.

    Po ustaleniu numerów wiersza i kolumny, INDEX z łatwością pobiera wartość na przecięciu tego wiersza i kolumny.

    W komórce E3, INDEX($A$3:$C$5, 1, 1) zwraca wartość z 1. wiersza i 1. kolumny powołanego zakresu, czyli z komórki A3.

    W F3, INDEX($A$3:$C$5, 1, 2) zwraca wartość z 1 wiersza i 2 kolumny, czyli z komórki B3.

    I tak dalej.

    Druga formuła, która skanuje zakres według kolumn, działa w podobny sposób. Różnica polega na tym, że używamy MOD do obliczenia numeru wiersza i QUOTIENT, aby dowiedzieć się numeru kolumny.

    Nie działa funkcja TOROW

    Jeśli funkcja TOROW powoduje błąd, to najprawdopodobniej jest to jeden z tych powodów:

    #NAME? error

    W przypadku większości funkcji Excela błąd #NAME? jest wyraźną informacją, że nazwa funkcji jest błędnie wpisana. W przypadku TOROW może to również oznaczać, że funkcja nie jest dostępna w Twoim Excelu. Jeśli Twoja wersja Excela jest inna niż 365, spróbuj użyć alternatywy TOROW.

    #NUM błąd

    Błąd #NUM wskazuje, że zwrócona tablica nie mieści się w wierszu. Najczęściej dzieje się tak, gdy odwołujesz się do całych kolumn i/lub wierszy zamiast mniejszego zakresu.

    #BłądSPILL

    W większości przypadków błąd #SPILL sugeruje, że wiersz, w którym wprowadziłeś formułę, nie ma wystarczającej liczby pustych komórek, do których można rozlać wyniki. Jeśli sąsiednie komórki są wizualnie puste, upewnij się, że nie ma w nich spacji ani innych znaków niedrukowalnych. Aby uzyskać więcej informacji, zobacz Co oznacza błąd #SPILL w programie Excel.

    Tak oto używasz funkcji TOROW w Excelu, aby przekształcić dwuwymiarową tablicę lub zakres w pojedynczy wiersz. Dziękuję Ci za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!

    Zeszyt ćwiczeń do pobrania

    Funkcja Excel TOROW - przykłady formuł (plik .xlsx)

    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.