Xếp các cột từ so le về 1 cột

Liên hệ QC

whitelight

Thành viên chính thức
Tham gia
30/10/08
Bài viết
50
Được thích
0
Mọi người xem file nhé,mình có 2 cột với các hàng có thứ tự 1,3,5.... và 2,4,6... muốn xếp thành 1,2,3....
 

File đính kèm

  • Xep 2 cot ve 1 cot.rar
    1.9 KB · Đọc: 30
Mọi người xem file nhé,mình có 2 cột với các hàng có thứ tự 1,3,5.... và 2,4,6... muốn xếp thành 1,2,3....
Bạn sử dụng code này nhé:
PHP:
Sub Xep_DL()
    Dim i As Integer, N As Integer
    N = [A65536].End(xlUp).Row
    For i = 1 To N
        Range("I" & i).Resize(, 8).Copy
        Range("A" & 2 * i).Insert Shift:=xlDown
    Next i
    [I:P].Delete
End Sub
Trong file đính kèm, bạn nhấn Ctrl+Shift+X để chạy code. Nếu cần thiết thì bạn tạo 1 bản backup cho sheet này.
 

File đính kèm

  • Xep 2 cot ve 1 cot_1.rar
    6.6 KB · Đọc: 13
Mọi người xem file nhé,mình có 2 cột với các hàng có thứ tự 1,3,5.... và 2,4,6... muốn xếp thành 1,2,3....
Góp một cách
Mã:
Public Sub chay()
    Dim Vung As Range, I As Integer, J As Integer
    Set Vung = [a1].CurrentRegion
    [e18].CurrentRegion.Offset(1).Clear
        For J = 1 To Vung.Rows.Count
            For I = 1 To 9 Step 8
                [e1000].End(xlUp)(2).Resize(, 8).Value = Vung(J, I).Resize(, 8).Value
            Next
        Next
End Sub
 
MÌnh có làm thử cách
1. =A1
2. =I1
3. =A2
...
Rồi kéo xuống nhg nó toàn bị nhẩy,bỏ mất mấy hàng.Ai đó giải thích hộ được ko.
 
MÌnh có làm thử cách
1. =A1
2. =I1
3. =A2
...
Rồi kéo xuống nhg nó toàn bị nhẩy,bỏ mất mấy hàng.Ai đó giải thích hộ được ko.
Bạn xem lại các loại địa chỉ: tương đối, tuyệt đối, hỗn hợp. Địa chỉ bạn dùng là địa chỉ tương đối, địa chỉ này sẽ tự động thay đổi khi sao chép công thức và ta có thể hiểu cách tính địa chỉ ở đây giống như việc so sánh vị trí tương đối của ô có trong công thức và ô chứa công thức đó. Ví dụ: Ở ô A2, ta gõ =A1, ta hiểu là ô A2 sẽ lấy giá trị của ô cùng cột (A) và trước 1 hàng. Do đó, khi ta sao chép công thức này tới ô D10 thì địa chỉ sẽ tự động thay đổi tương ứng là =D9 vì D9 là ô cùng cột với D10 và trước 1 hàng.
Bây giờ giả sử bạn nhập tại A21 là =A1, A22 là =I1 thì Excel hiểu là ô A21 sẽ lấy giá trị của ô cùng cột và trước 20 hàng, còn A22 sẽ lấy giá trị sau 8 cột và trước 20 hàng. Do đó, khi bạn chọn vùng A21:A22 để sao chép xuống dưới thì công thức ở ô A21 sẽ chép cho A23, và theo cách tính như trên thì công thức của A23 sẽ là =A3 chứ không phải là =A2 (vì A3 là ô cùng cột và trước 20 hàng so với A23), tương tự công thức ở ô A24 sẽ là =I3. Như vậy, hàng 2 đã bị bỏ qua.
 
Cám ơn bạn,vậy cho mình hỏi có cách nào để lấy các giá trị như mình muốn làm như trên không tức là
1. =A1
2. =I1
3. =A2
4. =i2
 
Cám ơn bạn,vậy cho mình hỏi có cách nào để lấy các giá trị như mình muốn làm như trên không tức là
1. =A1
2. =I1
3. =A2
4. =i2
Bạn thử cách này xem sao:
1. =OFFSET(A$1,INT(ROWS(A$1:A1)/2),0)
2. =OFFSET(I$1,INT(ROWS(I$1:I1)/2),0)
Sau đó chọn 2 ô này và sao chép ra toàn vùng dữ liệu (cả về chiều ngang và chiều đứng).
 

File đính kèm

  • Xep 2 cot ve 1 cot_1.rar
    9.2 KB · Đọc: 16
Cám ơn bạn,vậy cho mình hỏi có cách nào để lấy các giá trị như mình muốn làm như trên không tức là
1. =A1
2. =I1
3. =A2
4. =i2
Chỉ cần một công thức này cho ô E 19 rồi fil cho cả bảng:
E19=INDIRECT(ADDRESS(INT((ROW()-17)/2),((MOD(ROW()-1,2)*8+1)+COLUMN()-5)))
 
Lần chỉnh sửa cuối:
Mọi người xem file nhé,mình có 2 cột với các hàng có thứ tự 1,3,5.... và 2,4,6... muốn xếp thành 1,2,3....
Với bài này, nêu là tôi thì tôi chẳng dùng công thức hay VBA gì cả!
- Cắt bảng 2 xếp vào cuối bảng 1
- Sort vùng dữ liệu mới tăng dần theo cột đầu tiên
 
Web KT
Back
Top Bottom