Chuyển cột thành dòng (1 người xem)

Liên hệ QC

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

nhungdoahoaphudung

Thành viên chính thức
Tham gia
22/6/09
Bài viết
75
Được thích
7
Chào cả nhà
Các bác cho em hỏi với, em có 1 file em có 1 file excel cột A có tên của các hộ gia đình gồm tên chồng, tên vợ (ví dụ: A1: NGuyễn Văn A, A2: Nguyễn Thị B; A3: Nguyễn Văn C, A4: Nguyễn Thị D,...). Giờ em muốn chuyển nó sang thành 2 cột, cột B tên chồng, cột C tương ứng là tên vợ. Các bác viết giúp em viết cái code với.
Cảm ơn nhiều
 
Bạn chỉ cần copy rồi chọn Paste Special và chọn Transpose là OK
 
Upvote 0
Chào cả nhà
Các bác cho em hỏi với, em có 1 file em có 1 file excel cột A có tên của các hộ gia đình gồm tên chồng, tên vợ (ví dụ: A1: NGuyễn Văn A, A2: Nguyễn Thị B; A3: Nguyễn Văn C, A4: Nguyễn Thị D,...). Giờ em muốn chuyển nó sang thành 2 cột, cột B tên chồng, cột C tương ứng là tên vợ. Các bác viết giúp em viết cái code với.
Cảm ơn nhiều

Với số liệu tại vùng bạn mô tả thì,

Tại B1 gõ công thức
=INDEX(A$1:A$100,Rows($1:1)*2-1)

Tại C1 gõ công thức
=INDEX(A$1:A$100,Rows($1:1)*2)

copy cho các B,C khác, là được bạn ah
 
Upvote 0
paste thế không ổn lắm với danh sách dài vài chục thậm chí cả trăm hộ gia đình, chả lẽ cứ copy 2 ô sau đó paste rồi lại copy 2 ô tiếp theo rồi lại paste. Làm thủ công thế ko ổn
 
Upvote 0
Cảm ởn bác LKLK. Tiện thể co em hỏi thêm, nếu em dùng vòng lặp:
For =1 to 100
lựa chọn ô A1, Ai+1 thì viết code như thế nào, em dùng Range(Ai, Ai+1).select không được nó báo ko đúng.
 
Upvote 0
Cảm ởn bác LKLK. Tiện thể co em hỏi thêm, nếu em dùng vòng lặp:
For =1 to 100
lựa chọn ô A1, Ai+1 thì viết code như thế nào, em dùng Range(Ai, Ai+1).select không được nó báo ko đúng.

em em còn trẻ lém ạ, sao gọi bác chi cho ớn....

Có 2 cách bạn ah:

Cách 1

Mã:
For i=1 to 100
    if i mod 2=1 then 
         Range("B"& (i-1)\2 +1 ).Value=Range("A" & i).Value
    else
        Range("C"& i/2).Value=Range("A" & i).Value    
    end if
Next i


Cách 2, dùng 2 FOR với step 2, thì không phải IF

Mã:
For i=1 to 100 Step 2
         Range("B"& (i-1)\2 +1 ).Value=Range("A" & i).Value
Next i

For i=2 to 100 Step 2
         Range("C"& i/2).Value=Range("A" & i).Value
Next i
Vừa sửa B thành C cho đúng cột, bạn chú ý nhé


 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ởn bác LKLK. Tiện thể co em hỏi thêm, nếu em dùng vòng lặp:
For =1 to 100
lựa chọn ô A1, Ai+1 thì viết code như thế nào, em dùng Range(Ai, Ai+1).select không được nó báo ko đúng.

Đoán tạm là vậy
PHP:
   For i = 1 to 100
        range("A:A").cells(i) ............
   next

PHP:
    for each mycell in range("A:A")

     next
 
Upvote 0

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

Back
Top Bottom