Trợ giúp tách 1 cột dữ liệu thành 2 cột có giá trị tương ứng (3 người xem)

Liên hệ QC

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

vietteen

Thành viên mới
Tham gia
22/3/07
Bài viết
4
Được thích
0
Mình có file cần tách dữ liệu trong 1 cột thành 2 cột theo giá trị tương ứng. Mình có gửi kèm theo file mẫu. Các bác cao thủ trợ giúp em phát. E mò mãi hàm indirect mà không ra.
 

File đính kèm

Mình có file cần tách dữ liệu trong 1 cột thành 2 cột theo giá trị tương ứng. Mình có gửi kèm theo file mẫu. Các bác cao thủ trợ giúp em phát. E mò mãi hàm indirect mà không ra.
Mã:
D2=INDEX($B$2:$B$7,MATCH(0,COUNTIF(D$1:D1,IF(LEN($B$2:$B$7)=1,$B$2:$B$7,D$1)),0))
Mã:
E2=INDEX($B$2:$B$7,MATCH(0,COUNTIF(E$1:E1,IF(LEN($B$2:$B$7)=2,$B$2:$B$7,E$1)),0))
Kết thúc bằng Ctrl+Shift+Enter => fill xuống
 
Thử:
D2=INDEX($B$2:$B$7,ROW(1:1)*2-1)
E2=INDEX($B$2:$B$7,ROW(1:1)*2)
 
Bạn tham khảo file đính kèm nhé
 

File đính kèm

Thanks các bác rất nhiều, file của bác "be09" quá tuyệt vời!
Bác có thể chia sẻ cho e code và cách làm macro cho bài này được không ạ? Vậy qua tham khảo hướng dẫn của các bác, bản chất là dùng hàm "INDEX" cho trường hợp này. Đây là mẫu file e mô tả việc nhập dữ liệu từ máy quét barcode cho việc check mã Vận đơn đã xác nhận xuất đi cho giao vận.
Có công cụ này, việc làm biên bản giao nhận và trích lọc dữ liệu tiện hơn rất nhiều so với dùng "filter".
 
Cảm ơn các bác rất nhiều, file của bác "be09" quá tuyệt vời!
Bác có thể chia sẻ cho e code và cách làm macro cho bài này được không ạ? Vậy qua tham khảo hướng dẫn của các bác, bản chất là dùng hàm "INDEX" cho trường hợp này. Đây là mẫu file e mô tả việc nhập dữ liệu từ máy quét barcode cho việc check mã Vận đơn đã xác nhận xuất đi cho giao vận.
Có công cụ này, việc làm biên bản giao nhận và trích lọc dữ liệu tiện hơn rất nhiều so với dùng "filter".
1/ Muốn xem code thì nhấn phím Alt+F11.

2/ Bạn hỏi cách viết macro thì tham khảo một số bài viết ở link sau:
Kiến thức cơ bản về Visual Basic for Applications (VBA)
Đọc các Chương hướng dẫn - Excel VBA Programming For Dummies

3/ Bạn muốn làm biên bản giao nhận và trích lọc dữ liệu thì nên mở Topic mới trong Box Lập trình với Excel.
 
Bác be09 giải thích giùm ý nghĩa vòng lặp for được không, xem mà đoạn này hơi khó hiểu
Mã:
Option Explicit
Sub Chuyen_DuLieu()
    Dim xCell As Variant
    Dim rCell, Vung, GanDuLieu As Range
    Dim i As Long
    Sheet1.Range("D1").CurrentRegion.Offset(1).ClearContents
    Set Vung = Range("B2", Range("B" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeConstants)
    Set GanDuLieu = Range("D2").Resize(1, 2)

    For Each rCell In Vung.Areas
        For Each xCell In rCell.Value
            i = i + 1
            GanDuLieu(i) = xCell
        Next
    Next
End Sub
 
Web KT

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

Back
Top Bottom