Note: The other languages of the website are Google-translated. Back to English

Làm thế nào để nhanh chóng xếp chồng nhiều cột vào một cột trong Excel?

trong Excel, hàm Văn bản thành cột có thể chia một ô thành nhiều cột dựa trên dấu phân cách, nhưng nếu có bất kỳ cách nào để xếp nhiều cột thành một cột như hình minh họa bên dưới? Trong bài viết này, tôi sẽ giới thiệu một số thủ thuật để giải quyết công việc này một cách nhanh chóng.
doc stack cột thành một cột 1

Xếp nhiều cột thành một bằng công thức

Xếp nhiều cột thành một với VBA

Xếp chồng nhiều cột thành một với Transform Range ý kiến ​​hay3


Xếp nhiều cột thành một bằng công thức

1. Chọn phạm vi bạn muốn xếp chồng và đi đến Tên Box để đặt tên cho dải ô này và nhấn đăng ký hạng mục thi Chìa khóa. Xem ảnh chụp màn hình:
doc stack cột thành một cột 2

2. Sau đó chọn một ô trống mà bạn muốn đặt kết quả, nhập công thức này =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), nhấn Entephím r và kéo chốt điền xuống cho đến khi lỗi hiển thị. Xem ảnh chụp màn hình:
doc stack cột thành một cột 3

Trong công thức, MyData là tên dải ô bạn đã chỉ định ở bước 1.

Xếp nhiều cột thành một với VBA

Đây là mã VBA cũng có thể giúp bạn.

1. nhấn Alt + F11 các phím để hiển thị Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. nhấp chuột Chèn > Mô-đun, dán mã bên dưới vào Mô-đun.

VBA: Xếp các cột thành một

Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

doc stack cột thành một cột 4

3. nhấn F5 phím để chạy mã, một hộp thoại bật ra để chọn dữ liệu nguồn và nhấp vào OK, để chọn một ô để đặt kết quả. Xem ảnh chụp màn hình:
doc stack cột thành một cột 5

4. nhấp chuột OK. Bây giờ các cột đã được xếp chồng lên nhau trong một cột.
doc stack cột thành một cột 6


Xếp chồng nhiều cột thành một với Transform Range

Áp dụng Kutools cho Excel'S Phạm vi chuyển đổi tiện ích cũng có thể giúp bạn nhanh chóng giải quyết vấn đề này.

Kutools cho Excel, với hơn 300 chức năng tiện dụng, giúp công việc của bạn dễ dàng hơn. 

Sau cài đặt miễn phí Kutools cho Excel, vui lòng làm như sau:

1. Chọn dữ liệu cột bạn sử dụng và nhấp vào Kutools > Phạm vi > Phạm vi chuyển đổi. Xem ảnh chụp màn hình:
doc stack cột thành một cột 8

2. bên trong Phạm vi chuyển đổi hộp thoại, kiểm tra Phạm vi thành một cột và nhấp vào Ok, sau đó chọn một ô để đặt kết quả. Xem ảnh chụp màn hình:
doc stack cột thành một cột 9

3. nhấp chuột OK. Bây giờ các cột đã được xếp thành một cột duy nhất.
doc stack cột thành một cột 1


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (25)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
bạn đang xếp chồng nhiều hàng vào một cột, không phải nhiều cột ... không phải những gì tôi đang tìm kiếm.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Để xếp chồng các cột AP nằm trong các khối 6 hàng, hãy đặt công thức này vào ô R1 và điền vào

=OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này hoạt động hoàn hảo, cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn đã đăng giải pháp này! Trong trường hợp bất kỳ ai cần khoảng trắng sau / ở cuối mỗi khối, chỉ cần thêm số lượng bổ sung vào các hàng, vì vậy theo ví dụ trên, thay vì $ A $ 6, hãy viết $ A $ 7. Nó nhập một số không '0' vào hàng nhưng bạn có thể dễ dàng 'Sử dụng lựa chọn cho Tìm' trong Sublime để chỉnh sửa chúng. Nếu bạn biết giải pháp không thêm số XNUMX, vui lòng đăng!?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
để xuất một ô trống thay vì 0, hãy thực hiện hàm IF> 0, TRUE -> xuất nội dung ô gốc, FALSE -> xuất ""

=if(OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)>0,OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1),"")
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Dang, bây giờ nó không hoạt động! Đã thử trên một tab mới nhưng bây giờ nó quay trở lại xếp chồng nội dung cột vào một thay vì nội dung hàng ban đầu.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hủy bước cuối cùng đó, đã bỏ lỡ bước cắt ngắn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi biết rằng bạn đã trả lời câu hỏi này rất lâu trước đây, nhưng bạn có thể vui lòng giải thích chính xác từng phần của hàm này làm gì không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có thể hướng dẫn này có thể giúp ích cho bạn. Http://www.https: // www.extendoffice.com / Documents / excel / 3327-excel-convert-multi-row-to-column.html
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
đây chỉ là một cú nhấp chuột để bạn tải xuống một phần mềm trả phí
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bản tải xuống đầu tiên sẽ được sử dụng miễn phí trong 60 ngày, sau đó, bạn có thể quyết định trả phí để sử dụng hoặc không.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, có cách nào để chuyển đổi dữ liệu trên sang dạng sau không ??
1
A
Lilly
2
B
Judy
hữu ích. Cảm ơn !
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn đã để lại tin nhắn, hướng dẫn này https://www.extendoffice.com/documents/excel/5401-excel-stack-columns-into-one-column.html
đang nói về cách giải quyết vấn đề này, bạn có thể vào xem.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi có dữ liệu kết thúc ở cùng một hàng nhưng nhiều cột trong đó tôi muốn chúng được xếp chồng lên nhau trong một trình tự trong đó dữ liệu cột B sẽ nằm trong dữ liệu cột A trong đó dữ liệu kết thúc cho dữ liệu cột A và dữ liệu cột C sẽ nằm trong dữ liệu cột A nơi dữ liệu từ cột B kết thúc, v.v. Bằng cách này, tôi sẽ có dữ liệu từ nhiều cột để vừa với một cột. Làm thế nào tôi có thể làm điều đó?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, có cách nào để làm cho công thức bỏ qua bất kỳ ô trống nào mà dữ liệu của bạn có thể chứa không?


=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1),


Tôi đang sử dụng trang tính trợ giúp để tạo danh sách liền kề cho danh sách thả xuống xác thực dữ liệu. Cảm ơn trước.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin lỗi, tôi không giỏi về công thức, có thể bạn có thể thử sử dụng Kutools cho Excel's Select Nonblank cells tiện ích để chọn các ô chưa chọn trước, sao chép và dán chúng vào một vị trí khác, sau đó sử dụng các phương pháp trên.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi đang muốn tiến một bước xa hơn với điều này. Tôi đã sử dụng Chồng Nhiều Cột Thành Một Với ​​VBA, mã và điều này hoạt động. Tôi đã sử dụng Bảng làm nguồn với mã này và tôi nhận được danh sách. Có cách nào để tự động chạy Macro không? Để khi tôi thêm một mục mới vào bảng, Macro sẽ tự động chạy và giữ cho danh sách kết quả được cập nhật?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Chris Blackburn, xin lỗi, tôi rất tiếc, tôi không thể tìm thấy mã có thể tự động chạy để cập nhật kết quả, có thể người khác có thể.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang cố gắng thực hiện việc này trên một bảng rất lớn (100 cột và hàng đều được liên kết với công thức. Excel của tôi sẽ tiếp tục tải và cuối cùng là không phản hồi. Có cách nào để vượt qua điều này không? Cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Tom, phương pháp nào bạn áp dụng không hiệu quả? Phương pháp ba, công cụ phạm vi biến đổi phải có thể hoạt động.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang sử dụng phương pháp Chồng Nhiều Cột Thành Một Với ​​Công thức và nó hoạt động hoàn hảo, nhưng tôi muốn nó duy trì định dạng, tức là một số cột được in đậm & 1 là siêu liên kết. Có điều gì đó có thể được thêm vào công thức để làm cho điều này xảy ra?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Susan Milard, công thức của họ có thể đáp ứng nhu cầu của bạn, bạn có thể sử dụng VBA hoặc công cụ Transpose Range , cả hai đều có thể đáp ứng cho bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn, rất nhiều, tùy chọn công thức hoạt động rất tốt .. bạn đã tiết kiệm rất nhiều thời gian của tôi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn về công thức và VBA, nhưng không ai làm như tiêu đề của bài đăng. Tôi đã mong đợi họ xếp chồng các cột, nhưng thay vào đó họ chuyển từng hàng thành một cột và xếp chồng những thứ đó ... vì vậy đó là xếp chồng các hàng đã hoán vị, không phải cột. Vẫn rất hữu ích cho một số trường hợp, nhưng có ai biết cách sửa đổi công thức và / hoặc VBA để thực sự xếp chồng các cột không? Tôi cho rằng tôi có thể chuyển đổi toàn bộ phạm vi đầu vào sau đó sử dụng ...
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đối với những người muốn xếp các cột thành một chứ không phải các hàng thành một, bạn cần phải có một bức tranh rõ ràng về những gì bạn thực sự muốn làm. Giả sử bạn có một số mảng 3x3, bạn muốn hàm index () của mình nhận các mục nhập ở dạng (hàng, cột) cho (1,1), (2,1), (3,1), sau đó (1,2), (2,2), (3,2) rồi tiếp tục như vậy. việc cần làm là chỉ mục () tham chiếu đến một cột duy nhất chứa tất cả các số hàng (1; 2; 3; 1; 2; 3; 1; 2; 3) và một cột duy nhất chứa tất cả các số cột (1; 1 ; 1; 2; 2; 2; 3; 3; 3). Để có được (1; 2; 3; 1; 2; 3; 1; 2; 3), một phương pháp lập trình phổ biến là sử dụng 1 + mod (some_counter -1,3) trong đó hàm mod () cho các phần dư 0,1,2,0,1,2, ...
Để lấy (1; 1; 1; 2; 2; 2; 3; 3; 3), người ta sử dụng 1 + int ((some_counter-1) / 3) trong đó nó cho 1 + 0, 1 + 0, 1 + 0 , 1 + 1, 1 + 1, 1 + 1, 1 + 2, 1 + 2, 1 + 2
Do đó, để có một mảng 3x3 xếp thành một, bạn sử dụng công thức (nhấn Ctrl + Shft + Enter): = index ($ A $ 1: $ C $ 3, 1 + mod (row (A1) -1,3), 1 + int ((row (A1) -1) / 3))) trong đó hàng (A1) đóng vai trò là bộ đếm khi bạn điền công thức của mình xuống dưới
Nếu bạn đặt nó theo cách khác làm tròn (hàng sang cột, cột thành hàng), bạn sẽ nhận được các hàng được xếp chồng lên nhau thành một cột = INDEX ($ A $ 1: $ C $ 3, 1 + INT ((ROW (A1) -1) / 3), 1 + MOD (ROW (A1) -1,3)) về cơ bản là những gì công thức trong bài viết này thực hiện

Tóm lại, công thức được sử dụng để xếp các cột trong một mảng thành một cột duy nhất sẽ là: = index (your_array_cells, 1 + mod (row (A1) -1, number_of_rows_of_your_array), 1 + int ((row (A1) -1 ) / number_of_columns_of_your_array)))
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL