Excel - cột vào một ô


7

Bạn có thể có một cột dữ liệu được di chuyển đến một ô có dấu phẩy ngăn cách các giá trị trong cột không? Loại văn bản đảo ngược để cột.

ví dụ.,

1
2
3
4
5

đến 1,2,3,4,5 trong một ô duy nhất.


Bạn có thể sao chép cột, hoán chuyển nó và sau đó xuất dưới dạng CSV không?
kobaltz

Câu trả lời:


7

Sử dụng Hàm do người dùng xác định sẽ linh hoạt hơn nhiều so với ô mã hóa cứng theo ô

  • nhấn & amp; cùng nhau đi đến VBE
  • Chèn mô-đun
  • Sao chép và dán đoạn mã dưới đây
  • nhấn & amp; cùng nhau quay trở lại Excel

sử dụng công thức mới của bạn giống như công thức trong ảnh chụp nhanh ô D6
=ConCat(A1:A5)

Bạn có thể sử dụng các công thức phức tạp hơn như công thức trong D7
=ConCat(A1:A5,A7:A24)
hoặc D8 là 2D
=concat(A1:B5,A7:A24)

sample

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

4
  • Đầu tiên, làm

    =concatenate(A1,",")
    

    trong cột tiếp theo bên cạnh cột bạn có giá trị.

  • Thứ hai, sao chép toàn bộ cột và chuyển đến một trang khác để Dán Đặc biệt- & gt; Chuyển vị.

  • Thứ ba sao chép giá trị bạn vừa nhận và mở một tài liệu từ, sau đó chọn Tùy chọn dán - & gt; chọn một",
  • Cuối cùng, sao chép mọi thứ trong tài liệu word trở lại một ô trong một bảng excel, bạn sẽ nhận được tất cả các giá trị trong một ô

2

Bạn có thể sử dụng ghép hàm và xen kẽ giữa các ô và chuỗi ",":

=CONCATENATE(A1,",",A2,",",A3,",",A4,",",A5)

1

Nếu đó là một cột giá trị lỏng lẻo, bạn có thể sử dụng hàm CONCATENATE, nhưng để thực hiện nhanh chóng thì hơi khó. Giả sử các ô là A1: A10, trong B9 và B10, hãy đặt các công thức sau:

B9: = A9 & amp; "," & amp; B10

B10: = A10

Bây giờ, sao chép B9 và dán vào tất cả các ô LÊN lên đầu cột B.

Trong B1 bạn sẽ có kết quả đầy đủ. Sao chép & gt; Dán đặc biệt & gt; Giá trị.


1

Câu trả lời tuyệt vời, karthikeyan. Tôi không muốn lãng phí thời gian trong VB hoặc thậm chí để thoát khỏi Ctrl + H. Điều này sẽ đơn giản nhất, và tôi đang làm điều này.

  1. Chèn một hàng mới trên đầu (A).
  2. Ngay phía trên số 1 (tức là trên A1), nhập một ký tự bằng (=).
  3. Sao chép / dán dấu phẩy (,) từ B1 sang B23 (không phải trong B24).
  4. Chọn A1 đến B24, sao chép / dán trong Notepad.
  5. Trong Notepad bấm (Chọn tất cả) Ctrl + A, nhấn (Sao chép) Ctrl + C, sau đó nhấp vào bên trong một ô trong Excel (F2), sau đó (Dán) Ctrl + V.

1

Notepad là đơn giản nhất và nhanh nhất. Từ Excel, tôi đã thêm vào một cột để chạy các số trong cột A. Dữ liệu của tôi nằm trong Cột B. Sau đó, sao chép cột A & amp; B vào notepad. Xóa các khoảng trắng thừa bằng cách sử dụng chức năng thay thế trong notepad. Sao chép từ notepad và dán lại thành excel trong một ô mà tôi muốn có dữ liệu. Tất cả đã xong. Không cần VB!


0

Giải pháp tốt nhất và đơn giản để làm theo:

Chọn phạm vi của các cột bạn muốn được sao chép vào một cột

Sao chép phạm vi ô (nhiều cột)

Mở Notepad ++

Dán phạm vi ô đã chọn

Nhấn Ctrl + H, thay thế \ t bằng \ n và nhấp vào thay thế tất cả

tất cả nhiều cột nằm dưới một cột

Bây giờ sao chép giống nhau và dán vào excel

Giải pháp đơn giản và hiệu quả cho những người không muốn lãng phí thời gian mã hóa trong VBA


1
Có vẻ như bạn chỉ đọc tiêu đề. Nếu bạn đọc toàn bộ câu hỏi và xem các câu trả lời khác, bạn sẽ thấy rằng điều này không thực sự liên quan đến những gì được hỏi.
fixer1234

0

Cách dễ nhất để kết hợp danh sách các giá trị từ một cột vào một ô mà tôi đã tìm thấy là sử dụng một công thức nối đơn giản. 1) Chèn cột mới 2) Chèn công thức nối bằng cách sử dụng cột bạn muốn kết hợp làm giá trị đầu tiên, dấu tách (dấu cách, dấu phẩy, v.v.) làm giá trị thứ hai và ô bên dưới ô bạn đặt công thức làm giá trị thứ ba. 3) Kéo công thức xuống qua phần cuối của dữ liệu trong cột quan tâm 4) Sao chép & amp; dán các giá trị đặc biệt vào cột vừa tạo để xóa công thức và BOOM! ... tất cả các giá trị hiện nằm trong ô trên cùng.

Ví dụ: công thức sau đây sẽ kết hợp tất cả các giá trị được liệt kê trong cột A trong ô C3 với dấu chấm phẩy tách chúng = CONCATENATE (A3, ";", C4)


Điều này sao chép các giải pháp khác, nhưng cuối cùng lại phải để lại một dấu phân cách phụ. Câu trả lời của Jerry Beaucaire từ 6 năm trước là một phiên bản hoạt động của phương pháp của bạn.
fixer1234

-1

Đây là một cách nhanh chóng ... Chèn một cột "," bên cạnh mỗi giá trị bằng cách sử dụng điền. Đặt một công thức CONCATE, ở bất cứ đâu, với cả hai cột trong phạm vi, được thực hiện. Kết quả là một ô duy nhất, danh sách được nối với dấu phẩy và khoảng trắng sau mỗi ô.


Tôi không hiểu những gì bạn đang nói - và, nếu bạn sửa điều này thành dễ hiểu, có lẽ nó sẽ tương đương với một (không, một vài) câu trả lời đã được đưa ra.
Scott

@ James Tôi không thể làm cho đề xuất này hoạt động. Trong A1: A4 tôi có 1 2 3 4 (một giá trị mỗi hàng). Trong B1: B4, tôi có ", ". Ở C5 tôi có =concatenate(A1:B4). Nếu điều đó thực sự hiệu quả, nó sẽ rất tuyệt, nhưng nó không xuất hiện. Bạn có hình dung cái gì khác không?
Adam
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.