Sắp xếp cột dữ liệu (1 người xem)

  • Thread starter Thread starter winnies
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

winnies

Thành viên mới
Tham gia
30/10/12
Bài viết
45
Được thích
-1
Mình muốn chuyển giữ liệu như sau

1.png

sang 2.png

dữ liệu mình có hàng trăm dòng mà mình muốn sắp sếp thành 6 cột theo thứ tự 1 cặp (VD: 1A,2B) phải đi đôi với nhau. Mọi người có cách nào làm nhanh ko ah. Mong được cả nhà giúp đỡ
 
Mình muốn chuyển giữ liệu như sau

View attachment 198751

sang View attachment 198752

dữ liệu mình có hàng trăm dòng mà mình muốn sắp sếp thành 6 cột theo thứ tự 1 cặp (VD: 1A,2B) phải đi đôi với nhau. Mọi người có cách nào làm nhanh ko ah. Mong được cả nhà giúp đỡ
Giả sử:
A1=1; A2=2;....
B1=A; B2=B;....
Mã:
D1=OFFSET($A$1,(ROW($A1)-1)*3+INT((COLUMN(A$1)-1)/2),1-ISODD(COLUMN(A$1)))
Fill công thức tại D1 qua đủ 6 cột, rồi kéo dài xuống dưới
Thân.
 

File đính kèm

Mình muốn chuyển giữ liệu như sau

View attachment 198751

sang View attachment 198752

dữ liệu mình có hàng trăm dòng mà mình muốn sắp sếp thành 6 cột theo thứ tự 1 cặp (VD: 1A,2B) phải đi đôi với nhau. Mọi người có cách nào làm nhanh ko ah. Mong được cả nhà giúp đỡ
Giả sử dữ liệu bắt đầu từ A1.
Thì công thức như sau, fill qua phải rồi fill xuống.
Mã:
=OFFSET($A$1,(ROW(A1)-1)*3+(COLUMN(A1)-1)/2,MOD(COLUMN(A1)-1,2))
 
Cám ơn cả nhà nhiều ^^
Bài đã được tự động gộp:

Cả nhà có thể giải thích giúp mình ý nghĩa công thức trên được không
D1=OFFSET($A$1,(ROW($A1)-1)*3+INT((COLUMN(A$1)-1)/2),1-ISODD(COLUMN(A$1)))
 
Lần chỉnh sửa cuối:
Cám ơn cả nhà nhiều ^^
Bài đã được tự động gộp:

Cả nhà có thể giải thích giúp mình ý nghĩa công thức trên được không
D1=OFFSET($A$1,(ROW($A1)-1)*3+INT((COLUMN(A$1)-1)/2),1-ISODD(COLUMN(A$1)))
Ba công thức trên đều chung giải thuật là tìm ra quy luật truy xuất dữ liệu, với công thức bạn hỏi, đại khái nó thực hiện như sau:
Hàm OFFSET( 'Mốc làm chuẩn' , 'Số dòng cần xuống/lên' , 'Số cột cần qua/lại' )
- $A$1: 'Mốc làm chuẩn'​
- (ROW($A1)-1)*3+INT((COLUMN(A$1)-1)/2): 'Số dòng cần xuống/lên'; Bạn có thể chép riêng công thức này ra ngoài, rồi copy qua phải 6 cột và xuống dưới, sẽ thấy nó trả về các giá trị: Theo cột qua ngang sẽ là: 0,0,1,1,2,2 -> ý nghĩa: từ A1 hai cột đầu không ('0' ) xuống dòng nào (tức vẫn dòng 1), 2 cột kế xuống '1' dòng (tức dòng 2), 2 cột sau cùng xuống '2' dòng (tức dòng 3). Tương tự suy ra ý nghĩa các số ở dưới, như sẽ là: 3,3,4,4,5,5 ; 6,6,7,7,8,8......​
- 1-ISODD(COLUMN(A$1)): 'Số cột cần qua/lại', Bạn cũng chép ra ngoài sẽ thấy các giá trị trả về, như: các dòng đều là: 0,1,0,1,0,1 -> ý nghĩa: từ A1, cột đầu không ('0') nhảy, đứng nguyên tại chỗ (cột A), cột 2 thì nhảy qua '1' cột (cột B), cột 3 lại đứng nguyên (cột A), cột 4 thì nhảy qua '1' cột (cột B)....tương tự như vậy cứ cột số lẻ thì đứng nguyên (cột A), cột số chẵn thì nhảy qua 1 cột (cột B).​
Ghép các kết quả vào Offset, thì nó tạo lệnh thi hành 'nhảy đến các ô để lấy giá trị', đại để như sau:
- dòng 1, lấy giá trị tại các ô: A1, B1, A2, B2, A3, B3​
- dòng 2, lấy giá trị tại các ô: A4, B4, A5, B5, A6, B6​
- dòng 3, lấy giá trị tại các ô: A7, B7, A8, B8, A9, B9​
.....................................................................................................​
Cứ như vậy cho đến hết giá trị cột A và B​

Thân.
 
Web KT

Bài viết mới nhất

Back
Top Bottom