Przejdź do głównej zawartości

Jak przetransponować dane z kolumny do jednej komórki w programie Excel?

Gdy musisz przetransponować listę danych do jednej komórki w arkuszu, zwykle możesz zastosować rozszerzenie Powiązać funkcja scalania listy komórek w jedną komórkę, ale będzie to skomplikowane, jeśli trzeba będzie połączyć ogromne ilości danych. W tym artykule omówię kilka szybkich sztuczek, aby rozwiązać to zadanie w programie Excel.

Transponuj dane z kolumny do jednej komórki za pomocą funkcji zdefiniowanej przez użytkownika

Transponuj dane z kolumny do jednej komórki za pomocą Kutools for Excel


Oprócz funkcji Concatenate służącej do scalania listy wartości komórek, możesz zastosować następujący kod VBA, aby uzyskać wynik tak szybko, jak to możliwe.

1. Przytrzymaj ALT + F11 klucze i otwiera plik Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Transponuj dane z kolumny do jednej komórki

Function transposeRange(Rg As Range)
'updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
        If Not IsEmpty(xCell.Value) Then
            xStr = xStr & xCell.Value & ","
        End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
End Function

3. Następnie zapisz i zamknij ten kod, wróć do arkusza i wprowadź następującą formułę: = transposerange (A1: A10) do pustej komórki, aby umieścić wynik i naciśnij Wchodzę klucz, otrzymasz wszystkie wartości komórek w kolumnie, które zostały umieszczone w jednej komórce, patrz zrzut ekranu:

doc transponuje komórki do jednej komórki 1

Note: W powyższym kodzie, A1: A10 to zakres listy, który chcesz przetransponować do jednej komórki, a także możesz oddzielić scaloną zawartość innymi ogranicznikami, takimi jak przecinek, myślnik, spacja itp., zmieniając po prostu przecinek w skrypcie xStr = xStr & xCell.Value & ",".


Jeśli Kutools dla programu Excelz jego potężnym narzędziemPołączyć, możesz łączyć dane w kolumnie, wierszu lub zakresie w jedną komórkę.

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 Excelwykonaj następujące czynności :( Bezpłatne pobieranie Kutools dla programu Excel teraz! )

1. Wybierz kolumnę danych, którą chcesz połączyć w jedną komórkę.

2. Kliknij Kutools > Połącz i podzielPołącz wiersze, kolumny lub komórki bez utraty danychzobacz zrzut ekranu:

3. W wyskakującym oknie dialogowym wybierz Połącz w jedną komórkę pod Aby połączyć wybrane komórki zgodnie z następującymi opcjami, a następnie określ separator, aby oddzielić scaloną zawartość, zobacz zrzut ekranu:

doc transponuje komórki do jednej komórki 3

4. Następnie kliknij Ok or Aplikuj przycisk, a otrzymasz następujący wynik zgodnie z potrzebami:

doc transponuje komórki do jednej komórki 4 2 doc transponuje komórki do jednej komórki 5

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 (6)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Would anybody know how to add a conditional rule to this function? Basically I have an e-mail directory for multiple businesses. There is a column where I list either Yes or No in response to whether the E-mail is the business' main contact. I am hoping adjust the code so that only the main contacts are pulled and listed in one cell. Therefore, the condition would be that the Main Contact Column lists Yes. I have tried using if statements but I am fairly new to all of this. Any help would be much appreciated!
This comment was minimized by the moderator on the site
Hello friend,
Glad to help. Please read this article: https://www.extendoffice.com/documents/excel/2706-excel-vlookup-return-multiple-values-in-one-cell.html. I believe it can solve your problem. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
This has been ridiculously helpful to me a number of times. Thank you so much!
This comment was minimized by the moderator on the site
Hi,

Thanks a lot! I'm using your following function and it works very well. I would like to include an "if" function in the transposerange. What should I add to the function in VBA? Basically, it would work like a countif. So we would read the formula =transposerangeif(range,criteria).

Thanks in advance!

Function transposeRange(Rg As Range)
'updateby Extendoffice 20151207
Dim xCell As Range
Dim xStr As String
For Each xCell In Rg
If Not IsEmpty(xCell.Value) Then
xStr = xStr & xCell.Value & ","
End If
Next
transposeRange = Left(xStr, Len(xStr) - 1)
End Function
This comment was minimized by the moderator on the site
Hello,Sophie,
Could you give an example for your need, you can insert a screenshot here.
This comment was minimized by the moderator on the site
Thanks, this was very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations