Przejdź do głównej zawartości

Jak przekonwertować macierz na wektor lub pojedynczą kolumnę w programie Excel?

Czy kiedykolwiek próbowałeś przekonwertować macierz komórek na pojedynczy wiersz lub kolumnę w programie Excel? Być może możesz skopiować wiersz lub kolumnę i wkleić je pojedynczo do jednego wektora, ale będzie to czasochłonne, jeśli istnieje wiele wierszy i kolumn. W tym artykule omówię kilka interesujących metod i mam nadzieję, że ci pomogą.

Konwertuj macierz komórek na pojedynczy wiersz lub kolumnę za pomocą formuł

Konwertuj macierz komórek na pojedynczy wiersz lub kolumnę za pomocą Kutools for Excel


Poniższe formuły mogą pomóc w szybkim przekonwertowaniu macierzy na pojedynczy wiersz lub kolumnę. Wykonaj następujące czynności:

Konwertuj macierz komórek na pojedynczą kolumnę

1. Przede wszystkim należy zdefiniować nazwę zakresu dla danych macierzy. Wybierz zakres komórek i wpisz nazwę zakresu w Pole nazwy który znajduje się obok paska formuły, a następnie naciśnij Wchodzę klucz. W tym przypadku wpisuję „Matrix” jako zdefiniowaną nazwę, patrz zrzut ekranu:

doc konwertuj macierz na kolumnę 1

2. Następnie wprowadź następujące formuły:

(1.) Konwertuj macierz na pojedynczą kolumnę na podstawie wiersza, oznacza to, że wartości są pobierane z każdego wiersza, przesuwając się w poprzek, a następnie w dół: = PRZESUNIĘCIE (Macierz, LICZBA.CAŁK ((WIERSZ () - WIERSZ ($ G $ 1)) / KOLUMNY (Macierz)), MOD (WIERSZ () - WIERSZ (G $ 1), KOLUMNY (Macierz)), 1,1)(Matrix to nazwa zakresu zdefiniowana w kroku 1, a G1 to komórka, w którą wpisujesz tę formułę). Następnie przeciągnij uchwyt wypełniania do komórek, aż wyświetli się 0, zobacz zrzut ekranu:

doc konwertuj macierz na kolumnę 2

(2.) Konwertuj macierz na pojedynczą kolumnę na podstawie kolumny, oznacza to, że wartości są pobierane z kolumn, przesuwając się o jedną kolumnę w dół, a następnie w prawo: = OFFSET (Matrix, MOD (ROW () - ROW ($ G $ 1), ROWS (Matrix)), TRUNC ((ROW () - ROW ($ G $ 1)) / ROWS (Matrix)), 1,1) (Matrix to nazwa zakresu zdefiniowana w kroku 1, a G1 to komórka, w którą wpisujesz tę formułę). Następnie przeciągnij uchwyt wypełniania do komórek, aż wyświetli się 0, zobacz zrzut ekranu:

doc konwertuj macierz na kolumnę 3

Przekształć macierz komórek w jeden wiersz

Aby przekonwertować macierz komórek na pojedynczy wiersz, możesz użyć następujących formuł:

(1.) Przekonwertuj macierz na pojedynczy wiersz na podstawie wiersza, oznacza to, że wartości są pobierane z każdego wiersza od lewej do prawej w jednym wierszu, a następnie przechodzą w dół do następnego wiersza: = OFFSET (Matrix, LICZBA.CAŁK ((KOLUMNA () - KOLUMNA (7 $ A $)) / KOLUMNY (Macierz)), MOD ((KOLUMNA () - KOLUMNA (7 $ A $)), KOLUMNY (Macierz)), 1,1 ) (Matrix to nazwa zakresu utworzona przez Ciebie dla zakresu danych, a A7 to komórka, w której wpisujesz tę formułę). Następnie przeciągnij uchwyt wypełniania w prawo do komórek, aż wyświetli się 0, zobacz zrzut ekranu:

doc konwertuj macierz na kolumnę 4

(2.) Przekonwertuj macierz na pojedynczy wiersz na podstawie kolumny, oznacza to, że wartości są pobierane z każdej kolumny, przesuwając się o jedną kolumnę w dół, a następnie w prawo do kolumny: = PRZESUNIĘCIE (Macierz, MOD ((KOLUMNA () - KOLUMNA (7 $ A $)), WIERSZE (Macierz)), LICZBA.CAŁK ((KOLUMNA () - KOLUMNA (7 $ A $)) / (WIERSZE (Macierz))), 1,1 , XNUMX) (Matrix to nazwa zakresu utworzona przez Ciebie dla zakresu danych, a A7 to komórka, w której wpisujesz tę formułę). Następnie przeciągnij uchwyt wypełniania w prawo do komórek, aż wyświetli się 0, zobacz zrzut ekranu:

doc konwertuj macierz na kolumnę 5


Jeśli powyższe formuły są zbyt długie, aby je zapamiętać, tutaj mogę polecić łatwe i wydajne narzędzie - Kutools dla programu Excel, Z siedzibą w Zakres transformacji narzędzie, możesz szybko przekonwertować wiele kolumn i wierszy na jedną kolumnę lub wiersz, zgodnie z potrzebami.

Kutools dla programu Excel : z ponad 300 poręcznymi dodatkami Excela, które można wypróbować bez ograniczeń w ciągu 30 dni.

Po zainstalowaniu Kutools dla programu Excel, wykonaj następujące czynności:

1. Wybierz macierz komórek, które chcesz przekonwertować.

2. Następnie kliknij Kutools > łodzie > Zakres transformacjizobacz zrzut ekranu:

3, w Zakres transformacji dialog, wybierz Zakres do jednej kolumny jeśli chcesz przekonwertować macierz na pojedynczą kolumnę, lub wybierz Zakres do jednego rzędu jeśli chcesz przekonwertować macierz na pojedynczy wiersz, zobacz zrzut ekranu:

doc konwertuj macierz na kolumnę 07

4. Następnie kliknij OK przycisk i wyskoczył Zakres transformacji box, wybierz komórkę, w której chcesz umieścić wynik, zobacz zrzut ekranu:

doc konwertuj macierz na kolumnę 08

5. A następnie kliknij OK przycisk, wybrana macierz komórek została przekonwertowana na pojedynczy wiersz lub kolumnę.

Aby dowiedzieć się więcej o tym narzędziu Transform Range.

 Pobierz i bezpłatną wersję próbną Kutools dla programu Excel teraz!


Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 30 dni. Pobierz i bezpłatną wersję próbną teraz!

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks much! Stacking a 2D matrix of data as a 1D column -> That was cool! Solved my problem precisely. Though I had to tweak the formula to get it right (I think the row and col are interchanged)... But the inspiration was from this article. Simply superb! Thanks!
This comment was minimized by the moderator on the site
Fantastic explanation - thank you. This helped me save hours of time
This comment was minimized by the moderator on the site
I'd like to accomplish this same task but with a range that is not so neatly defined. I've got wholes in the data and my matrix is spaced out over my spreadsheet rather than in a neatly define A1:D4 style block. Any ideas on how I can accomplish this?
This comment was minimized by the moderator on the site
Hi, Kevin:

The following VBA code can help you to combine the cells from a range:

Sub a()
Dim xSRg As Range
Dim xDRg As Range
Dim I As Long
Dim J As Long
Dim K As Long
Dim xArr
On Error Resume Next
Set xSRg = Application.InputBox("Please select the data range:", "KuTools for Excel", Selection.Address, , , , , 8)
If xSRg Is Nothing Then Exit Sub
Set xDRg = Application.InputBox("Select an output cell:)", "KuTools for Excel", , , , , , 8)
If xDRg Is Nothing Then Exit Sub
xArr = xSRg
K = 0
For I = 1 To UBound(xArr, 1)
For J = 1 To UBound(xArr, 2)
If xArr(I, J) <> "" Then
xDRg.Offset(K, 0).Value = xArr(I, J)
K = K + 1
End If
Next
Next
End Sub

Please try it, Hope it can help you!
This comment was minimized by the moderator on the site
Thank you!!!!
This comment was minimized by the moderator on the site
I had the same issue, put a filter on that column, and anything that has 0, filter out.
This comment was minimized by the moderator on the site
This is so useful! The formula to convert a matrix to single column based on column was exactly what I needed. Thank you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations