Czy możesz przenieść kolumnę danych do pojedynczej komórki z przecinkami oddzielającymi wartości znajdujące się w kolumnie? Rodzaj odwrotnego tekstu do kolumn.
na przykład,
1
2
3
4
5
aby 1,2,3,4,5
w pojedynczej komórce.
Czy możesz przenieść kolumnę danych do pojedynczej komórki z przecinkami oddzielającymi wartości znajdujące się w kolumnie? Rodzaj odwrotnego tekstu do kolumn.
na przykład,
1
2
3
4
5
aby 1,2,3,4,5
w pojedynczej komórce.
Odpowiedzi:
Korzystanie z funkcji zdefiniowanej przez użytkownika będzie znacznie bardziej elastyczne niż kodowanie komórka po komórce
użyj nowej formuły, takiej jak ta w migawce komórki D6
=ConCat(A1:A5)
Możesz użyć bardziej złożonych formuł, takich jak ta w D7
=ConCat(A1:A5,A7:A24)
lub D8, która jest 2D
=concat(A1:B5,A7:A24)
Function ConCat(ParamArray rng1()) As String
Dim X
Dim strOut As String
Dim strDelim As String
Dim rng As Range
Dim lngRow As Long
Dim lngCol As Long
Dim lngCnt As Long
strDelim = ", "
For lngCnt = LBound(rng1) To UBound(rng1)
If TypeOf rng1(lngCnt) Is Range Then
If rng1(lngCnt).Cells.Count > 1 Then
X = rng1(lngCnt).Value2
For lngRow = 1 To UBound(X, 1)
For lngCol = 1 To UBound(X, 2)
strOut = strOut & (strDelim & X(lngRow, lngCol))
Next
Next
Else
strOut = strOut & (strDelim & rng2.Value)
End If
End If
Next
ConCat = Right$(strOut, Len(strOut) - Len(strDelim))
End Function
Po pierwsze, zrób
=concatenate(A1,",")
w następnej kolumnie obok tej, którą masz wartości.
Po drugie, skopiuj całą kolumnę i przejdź do innego arkusza do Wklej specjalnie -> Transponuj.
Możesz użyć funkcji konkatenacji i na przemian między komórkami a łańcuchem ","
:
=CONCATENATE(A1,",",A2,",",A3,",",A4,",",A5)
Jeśli jest to dłuższa kolumna wartości, możesz użyć funkcji CONCATENATE, ale wykonanie tego szybko jest trochę trudne. Zakładając, że komórkami były A1: A10, w B9 i B10 umieść te wzory:
B9: = A9 i „,” i B10
B10: = A10
Teraz skopiuj B9 i wklej wszystkie komórki UP na górę kolumny B.
W B1 masz teraz pełny wynik. Kopiuj> Wklej specjalnie> Wartości.
Niesamowita odpowiedź, karthikeyan. Nie chciałem tracić czasu na VB ani nawet na ucieczkę z Ctrl + H. To byłoby najprostsze i robię to.
Notatnik jest najprostszy i najszybszy. Z Excela dodałem kolumnę do uruchamiania liczb w kolumnie A. Moje dane znajdują się w kolumnie B. Następnie skopiowałem kolumnę A i B do notatnika. Usunięto dodatkowe spacje za pomocą funkcji zamiany w notatniku. Skopiowałem z notatnika i wkleiłem z powrotem, aby wyróżnić się w pojedynczej komórce, w której chciałem dane. Wszystko gotowe. Nie wymaga VB!
Najlepsze i proste rozwiązanie do naśladowania:
Wybierz zakres kolumn, które chcesz skopiować do pojedynczej kolumny
Skopiuj zakres komórek (wiele kolumn)
Otwórz Notepad ++
Wklej wybrany zakres komórek
Naciśnij Ctrl + H, zamień \ t na \ n i kliknij zamień wszystko
wszystkie wiele kolumn należą do jednej pojedynczej kolumny
teraz skopiuj to samo i wklej w programie Excel
Proste i skuteczne rozwiązanie dla tych, którzy nie chcą tracić czasu na kodowanie w VBA
Najłatwiejszy sposób na połączenie listy wartości z kolumny w pojedynczą komórkę przy użyciu prostej formuły konkatenacji. 1) Wstaw nową kolumnę 2) Wstaw formułę konkatenacji, używając kolumny, którą chcesz połączyć jako pierwszej wartości, separatora (spacja, przecinek itp.) Jako drugiej wartości oraz komórki pod komórką, w której umieściłeś formułę jako trzeciej wartości wartość. 3) Przeciągnij formułę w dół przez koniec danych w interesującej kolumnie 4) Skopiuj i wklej wartości specjalne w nowo utworzonej kolumnie, aby usunąć formuły, i BOOM! ... wszystkie wartości znajdują się teraz w górnej komórce.
Na przykład poniższa formuła połączy wszystkie wartości wymienione w kolumnie A w komórce C3 z oddzielającym je średnikiem = CONCATENATE (A3, ";", C4)
Oto szybki sposób ... Wstaw kolumnę „,” obok każdej wartości za pomocą wypełnienia. Umieść formułę CONCATE w dowolnym miejscu z wykonanymi obiema kolumnami w zakresie. Wynikiem jest pojedyncza komórka, połączona lista z przecinkami i spacją po każdej z nich.
1 2 3 4
(jedna wartość na wiersz). W B1: B4 mam ", "
. W C5 mam =concatenate(A1:B4).
Jeśli to faktycznie zadziałałoby, byłoby całkiem fajnie, ale nie wydaje się. Czy wyobrażałeś sobie coś jeszcze?