Chuẩn hóa dữ liệu

Liên hệ QC

fun.tiger

Thành viên mới
Tham gia
1/1/08
Bài viết
13
Được thích
2
Chào các anh chị
Em có một file excel đổ ra từ hệ thống như trong sheet 1 . Em nhìn nó mà ngao ngán vì không làm gì khác được . Các anh chị vui lòng giúp em cách để đổ ra file theo định dạng của sheet2 với ạ . Em rất chân thành cảm ơn ạ
 

File đính kèm

  • Chuẩn hóa dữ liệu.xlsx
    3.5 MB · Đọc: 33
Ngao ngán?
Lúc xin việc bạn nói gì với bên phỏng vấn?

Không biết làm thì từ từ bước một, cứ bí thì hỏi, chứ ngao với ngán là thái độ của kẻ ỷ lại.

Gợi ý:
1. chép tiêu đề ở sheet1 ra thành môt bảng, tạm gọi là LOC.
2. Sửa LOC lại theo đúng thứ tự ở sheet2, những cột không cần thì xóa đi, những cột cần thêm thì tạm gác đó, gọi chúng là các cột còn thiếu.
3. Dùng Advanced Filter dữ liệu chính ở Sheet1, dựa vào LOC để đưa qua Sheet2.
4. Thêm các cột còn thiếu vào, viết công thức nếu cần.
 
Lần chỉnh sửa cuối:
Ngao ngán?
Lúc xin việc bạn nói gì với bên phỏng vấn?

Không biết làm thì từ từ bước một, cứ bí thì hỏi, chứ ngao với ngán là thái độ của kẻ ỷ lại.

Gợi ý:
1. chép tiêu đề ở sheet1 ra thành môt bảng, tạm gọi là LOC.
2. Sửa LOC lại theo đúng thứ tự ở sheet2, những cột không cần thì xóa đi, những cột cần thêm thì tạm gác đó, gọi chúng là các cột còn thiếu.
3. Dùng Advanced Filter dữ liệu chính ở Sheet1, dựa vào LOC để đưa qua Sheet2.
4. Thêm các cột còn thiếu vào, viết công thức nếu cần.
Cảm ơn bạn nhiều . Mình ngao ngán vì làm mãi không được nên mới hỏi chứ không dám ỷ lại bao giờ . Excel mình không rành . Trước đây mình toàn copy từng dữ liệu
Bài đã được tự động gộp:

Ngao ngán?
Lúc xin việc bạn nói gì với bên phỏng vấn?

Không biết làm thì từ từ bước một, cứ bí thì hỏi, chứ ngao với ngán là thái độ của kẻ ỷ lại.

Gợi ý:
1. chép tiêu đề ở sheet1 ra thành môt bảng, tạm gọi là LOC.
2. Sửa LOC lại theo đúng thứ tự ở sheet2, những cột không cần thì xóa đi, những cột cần thêm thì tạm gác đó, gọi chúng là các cột còn thiếu.
3. Dùng Advanced Filter dữ liệu chính ở Sheet1, dựa vào LOC để đưa qua Sheet2.
4. Thêm các cột còn thiếu vào, viết công thức nếu cần.
Mình vẫn làm không được bạn à
 
Lần chỉnh sửa cuối:
Chào các anh chị
Em có một file excel đổ ra từ hệ thống như trong sheet 1 . Em nhìn nó mà ngao ngán vì không làm gì khác được . Các anh chị vui lòng giúp em cách để đổ ra file theo định dạng của sheet2 với ạ . Em rất chân thành cảm ơn ạ
Hên sui bạn thử code.Mà bạn xem kiểu xuất dữ liệu không bị gộp ô có vẻ ổn hơn.Vì phần mềm nó có nhiều kiểu xuất dữ liệu.
Mã:
Sub vietcodemotlan()
    Dim i As Long, lr As Long, arr, kq, a As Long, makho As String
    With Sheets("sheet")
         lr = .Range("C" & Rows.Count).End(xlUp).Row
         arr = .Range("A16:AJ" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 9)
         makho = .Range("o1").Value
         For i = 1 To UBound(arr)
             If Len(arr(i, 1)) > 0 And Len(arr(i, 3)) > 0 Then
                a = a + 1
                kq(a, 1) = makho
                kq(a, 2) = arr(i, 1)
                kq(a, 3) = arr(i, 3)
                kq(a, 5) = arr(i, 25)
                kq(a, 7) = arr(i, 32)
                kq(a, 8) = arr(i, 34)
                kq(a, 9) = arr(i, 36)
             ElseIf Len(arr(i, 3)) Then
                kq(a, 4) = arr(i, 3)
                kq(a, 7) = arr(i, 25)
             End If
         Next i
    End With
    With Sheets("sheet2")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        If lr > 4 Then .Range("A5:I" & lr).ClearContents
        .Range("A5:I5").Resize(a).Value = kq
    End With
End Sub
 
Hên sui bạn thử code.Mà bạn xem kiểu xuất dữ liệu không bị gộp ô có vẻ ổn hơn.Vì phần mềm nó có nhiều kiểu xuất dữ liệu.
Mã:
Sub vietcodemotlan()
    Dim i As Long, lr As Long, arr, kq, a As Long, makho As String
    With Sheets("sheet")
         lr = .Range("C" & Rows.Count).End(xlUp).Row
         arr = .Range("A16:AJ" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 9)
         makho = .Range("o1").Value
         For i = 1 To UBound(arr)
             If Len(arr(i, 1)) > 0 And Len(arr(i, 3)) > 0 Then
                a = a + 1
                kq(a, 1) = makho
                kq(a, 2) = arr(i, 1)
                kq(a, 3) = arr(i, 3)
                kq(a, 5) = arr(i, 25)
                kq(a, 7) = arr(i, 32)
                kq(a, 8) = arr(i, 34)
                kq(a, 9) = arr(i, 36)
             ElseIf Len(arr(i, 3)) Then
                kq(a, 4) = arr(i, 3)
                kq(a, 7) = arr(i, 25)
             End If
         Next i
    End With
    With Sheets("sheet2")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        If lr > 4 Then .Range("A5:I" & lr).ClearContents
        .Range("A5:I5").Resize(a).Value = kq
    End With
End Sub
Xin cảm ơn bạn nhiều . Trong dữ liệu đó có rất nhiều Mã kho . Mình làm sao để cho nó hiện theo luôn được không ạ
Bài đã được tự động gộp:

Hên sui bạn thử code.Mà bạn xem kiểu xuất dữ liệu không bị gộp ô có vẻ ổn hơn.Vì phần mềm nó có nhiều kiểu xuất dữ liệu.
Mã:
Sub vietcodemotlan()
    Dim i As Long, lr As Long, arr, kq, a As Long, makho As String
    With Sheets("sheet")
         lr = .Range("C" & Rows.Count).End(xlUp).Row
         arr = .Range("A16:AJ" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 9)
         makho = .Range("o1").Value
         For i = 1 To UBound(arr)
             If Len(arr(i, 1)) > 0 And Len(arr(i, 3)) > 0 Then
                a = a + 1
                kq(a, 1) = makho
                kq(a, 2) = arr(i, 1)
                kq(a, 3) = arr(i, 3)
                kq(a, 5) = arr(i, 25)
                kq(a, 7) = arr(i, 32)
                kq(a, 8) = arr(i, 34)
                kq(a, 9) = arr(i, 36)
             ElseIf Len(arr(i, 3)) Then
                kq(a, 4) = arr(i, 3)
                kq(a, 7) = arr(i, 25)
             End If
         Next i
    End With
    With Sheets("sheet2")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        If lr > 4 Then .Range("A5:I" & lr).ClearContents
        .Range("A5:I5").Resize(a).Value = kq
    End With
End Sub
Và mình muốn học VBA thì bắt đầu từ đâu ạ . Mình không biết tý gì về cái này . Mình muốn đi học để không làm phiền mọi người và nếu có thể thì giúp các bạn khác
 
Xin cảm ơn bạn nhiều . Trong dữ liệu đó có rất nhiều Mã kho . Mình làm sao để cho nó hiện theo luôn được không ạ
Bài đã được tự động gộp:


Và mình muốn học VBA thì bắt đầu từ đâu ạ . Mình không biết tý gì về cái này . Mình muốn đi học để không làm phiền mọi người và nếu có thể thì giúp các bạn khác
Rất nhiều mã kho nó nằm ở đâu.Bạn phải nói rõ chứ.Còn nếu học thì bạn có thể vào youtube xem kênh Tin học phong an của mình có video hướng dẫn nhé.
 
Rất nhiều mã kho nó nằm ở đâu.Bạn phải nói rõ chứ.Còn nếu học thì bạn có thể vào youtube xem kênh Tin học phong an của mình có video hướng dẫn nhé.
Dạ nó cứ tới chữ "Giám sát ; Người phụ kiểm kê " là nó qua một kho mới . Nhưng cái này họ không thể hiện trên file nên khó lấy cơ sở làm dữ liệu đặt điều kiện . Với lại em cho chạy thì thiếu cột đơn vị và cột quy cách 2 nhảy qua cột đơn vị ạ
Em đang xem nảy giờ thầy ạ . Do em không biết tý gì về VBA nên chưa hiểu . Em sẽ xem từ từ ạ . Cảm ơn thầy nhiều
Bài đã được tự động gộp:

Xin cảm ơn bạn nhiều . Trong dữ liệu đó có rất nhiều Mã kho . Mình làm sao để cho nó hiện theo luôn được không ạ
Bài đã được tự động gộp:


Và mình muốn học VBA thì bắt đầu từ đâu ạ . Mình không biết tý gì về cái này . Mình muốn đi học để không làm phiền mọi người và nếu có thể thì giúp các bạn khác
Dạ phần mềm này nó chỉ cho xuất được file PDF và File excel chỉ có vậy thôi thầy ạ
 
Dạ nó cứ tới chữ "Giám sát ; Người phụ kiểm kê " là nó qua một kho mới . Nhưng cái này họ không thể hiện trên file nên khó lấy cơ sở làm dữ liệu đặt điều kiện . Với lại em cho chạy thì thiếu cột đơn vị và cột quy cách 2 nhảy qua cột đơn vị ạ
Em đang xem nảy giờ thầy ạ . Do em không biết tý gì về VBA nên chưa hiểu . Em sẽ xem từ từ ạ . Cảm ơn thầy nhiều
Bài đã được tự động gộp:


Dạ phần mềm này nó chỉ cho xuất được file PDF và File excel chỉ có vậy thôi thầy ạ
Vậy không có Kho thì lấy kiểu gì.Sửa 1 chút code lấy sai cột.
Mã:
Sub vietcodemotlan()
    Dim i As Long, lr As Long, arr, kq, a As Long, makho As String
    With Sheets("sheet")
         lr = .Range("C" & Rows.Count).End(xlUp).Row
         arr = .Range("A16:AJ" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 9)
         makho = .Range("o1").Value
         For i = 1 To UBound(arr)
             If Len(arr(i, 1)) > 0 And Len(arr(i, 3)) > 0 Then
                a = a + 1
                kq(a, 1) = makho
                kq(a, 2) = arr(i, 1)
                kq(a, 3) = arr(i, 3)
                kq(a, 5) = arr(i, 25)
                kq(a, 7) = arr(i, 31)
                kq(a, 8) = arr(i, 33)
                kq(a, 9) = arr(i, 36)
             ElseIf Len(arr(i, 3)) Then
                kq(a, 4) = arr(i, 3)
                kq(a, 6) = arr(i, 25)
             End If
         Next i
    End With
    With Sheets("sheet2")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        If lr > 4 Then .Range("A5:I" & lr).ClearContents
        .Range("A5:I5").Resize(a).Value = kq
    End With
End Sub
 
Vậy không có Kho thì lấy kiểu gì.Sửa 1 chút code lấy sai cột.
Mã:
Sub vietcodemotlan()
    Dim i As Long, lr As Long, arr, kq, a As Long, makho As String
    With Sheets("sheet")
         lr = .Range("C" & Rows.Count).End(xlUp).Row
         arr = .Range("A16:AJ" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 9)
         makho = .Range("o1").Value
         For i = 1 To UBound(arr)
             If Len(arr(i, 1)) > 0 And Len(arr(i, 3)) > 0 Then
                a = a + 1
                kq(a, 1) = makho
                kq(a, 2) = arr(i, 1)
                kq(a, 3) = arr(i, 3)
                kq(a, 5) = arr(i, 25)
                kq(a, 7) = arr(i, 31)
                kq(a, 8) = arr(i, 33)
                kq(a, 9) = arr(i, 36)
             ElseIf Len(arr(i, 3)) Then
                kq(a, 4) = arr(i, 3)
                kq(a, 6) = arr(i, 25)
             End If
         Next i
    End With
    With Sheets("sheet2")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        If lr > 4 Then .Range("A5:I" & lr).ClearContents
        .Range("A5:I5").Resize(a).Value = kq
    End With
End Sub
Dạ em cảm ơn Thầy nhiều ạ . Tuyệt vời rồi Thầy ơi . Em không có dùng MOMO vài hôm nữa em dùng em xin gửi thầy ít uống cà phê xem như là đa tạ ạ
 
Cảm ơn bạn nhiều . Mình ngao ngán vì làm mãi không được nên mới hỏi chứ không dám ỷ lại bao giờ . Excel mình không rành . Trước đây mình toàn copy từng dữ liệu
...
Bạn là thành viên 15 năm rồi. Bây giờ bạn bảo Excel mình không rành?
15 năm qua bạn chỉ làm công việc copy từng dữ liệu? Rồi bất thình lình, sếp bạn thảy cho một cái ổ kiến lửa?

...
Mình vẫn làm không được bạn à
"vẫn làm không được" đối với tôi không có một ý nghĩa gì cả.
Lúc chỉ dẫn, tôi cẩn thận đánh số từng bước một. Bạn cần cho biết kẹt ở bước nào? Ngay từ bước 1?

...
Và mình muốn học VBA thì bắt đầu từ đâu ạ . Mình không biết tý gì về cái này . Mình muốn đi học để không làm phiền mọi người và nếu có thể thì giúp các bạn khác
15 năm bạn không chịu làm. Bây giờ mới chấp nhận là mình cần học?

Code ở diễn đàn này vốn viết để thi đua tốc độ chứ không có chút nào về chỉ dẫn. Rất khó học.
Muốn học thì phải chịu khó tìm những bài người ta bàn về code.
 
Hên sui bạn thử code.Mà bạn xem kiểu xuất dữ liệu không bị gộp ô có vẻ ổn hơn.Vì phần mềm nó có nhiều kiểu xuất dữ liệu.
Mã:
Sub vietcodemotlan()
    Dim i As Long, lr As Long, arr, kq, a As Long, makho As String
    With Sheets("sheet")
         lr = .Range("C" & Rows.Count).End(xlUp).Row
         arr = .Range("A16:AJ" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 9)
         makho = .Range("o1").Value
         For i = 1 To UBound(arr)
             If Len(arr(i, 1)) > 0 And Len(arr(i, 3)) > 0 Then
                a = a + 1
                kq(a, 1) = makho
                kq(a, 2) = arr(i, 1)
                kq(a, 3) = arr(i, 3)
                kq(a, 5) = arr(i, 25)
                kq(a, 7) = arr(i, 32)
                kq(a, 8) = arr(i, 34)
                kq(a, 9) = arr(i, 36)
             ElseIf Len(arr(i, 3)) Then
                kq(a, 4) = arr(i, 3)
                kq(a, 7) = arr(i, 25)
             End If
         Next i
    End With
    With Sheets("sheet2")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        If lr > 4 Then .Range("A5:I" & lr).ClearContents
        .Range("A5:I5").Resize(a).Value = kq
    End With
End Sub
Bài đã được tự động gộp:

Vậy không có Kho thì lấy kiểu gì.Sửa 1 chút code lấy sai cột.
Mã:
Sub vietcodemotlan()
    Dim i As Long, lr As Long, arr, kq, a As Long, makho As String
    With Sheets("sheet")
         lr = .Range("C" & Rows.Count).End(xlUp).Row
         arr = .Range("A16:AJ" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 9)
         makho = .Range("o1").Value
         For i = 1 To UBound(arr)
             If Len(arr(i, 1)) > 0 And Len(arr(i, 3)) > 0 Then
                a = a + 1
                kq(a, 1) = makho
                kq(a, 2) = arr(i, 1)
                kq(a, 3) = arr(i, 3)
                kq(a, 5) = arr(i, 25)
                kq(a, 7) = arr(i, 31)
                kq(a, 8) = arr(i, 33)
                kq(a, 9) = arr(i, 36)
             ElseIf Len(arr(i, 3)) Then
                kq(a, 4) = arr(i, 3)
                kq(a, 6) = arr(i, 25)
             End If
         Next i
    End With
    With Sheets("sheet2")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        If lr > 4 Then .Range("A5:I" & lr).ClearContents
        .Range("A5:I5").Resize(a).Value = kq
    End With
End Sub
Thầy có thể hướng dẫn giúp em làm một nút INPUT gán Macro này vào để sau này có thể sử dụng cho các file mới được không ạ . Em xin cảm ơn ạ
Bài đã được tự động gộp:

Bạn là thành viên 15 năm rồi. Bây giờ bạn bảo Excel mình không rành?
15 năm qua bạn chỉ làm công việc copy từng dữ liệu? Rồi bất thình lình, sếp bạn thảy cho một cái ổ kiến lửa?


"vẫn làm không được" đối với tôi không có một ý nghĩa gì cả.
Lúc chỉ dẫn, tôi cẩn thận đánh số từng bước một. Bạn cần cho biết kẹt ở bước nào? Ngay từ bước 1?


15 năm bạn không chịu làm. Bây giờ mới chấp nhận là mình cần học?

Code ở diễn đàn này vốn viết để thi đua tốc độ chứ không có chút nào về chỉ dẫn. Rất khó học.
Muốn học thì phải chịu khó tìm những bài người ta bàn về code.
Xin cảm ơn vì đã nhắc nhở ạ
 
Bài đã được tự động gộp:


Thầy có thể hướng dẫn giúp em làm một nút INPUT gán Macro này vào để sau này có thể sử dụng cho các file mới được không ạ . Em xin cảm ơn ạ
Bài đã được tự động gộp:


Xin cảm ơn vì đã nhắc nhở ạ
Bạn tìm hiểu cách tạo add in trong excel là được.
 
Web KT

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

Back
Top Bottom