Xử lý số liệu

Liên hệ QC
Làm lại lần nữa xem sao?
vẫn không được ạ!
với lại, những hàng nào cột t đã có giá trị rồi thì giữ nguyên k thay đổi vì nó link đến các dữ liệu ở cột khác nữa ạ. Chỉ những hàng nào thiếu giá trị của cột t thì mới thêm thôi ạ! (có giá trị từ 1-8 cho mỗi mã code)
 
Em là sinh viên, đang làm nghiên cứu cần xử lý bảng số liệu. Em không biết nhiều về excel nên nhờ anh chị giúp đỡ em với ạ!
File của em có cột dữ liệu tên là "code". Mỗi 1 mã code cần nhân lên thành 8 hàng (các dữ liệu về year, exit, size, pro, im_ex, hhi, hori thì để trống cũng đc ạ). Có một số mã code đã đủ 8 hàng, nhưng một số mã thì chưa đủ. Có gần 30.000 mã nên em không tự insert thêm hàng bằng tay thủ công được ạ, mà em tìm cách trên mạng cũng không biết phải tìm kiểu gì. Mong anh chị giúp đỡ em ạ!
Gửi bạn nhé, làm thủ công đấy.
 

File đính kèm

  • số liệu2.part2.rar
    1.4 MB · Đọc: 1
  • số liệu2.part1.rar
    4.5 MB · Đọc: 0
Em là sinh viên, đang làm nghiên cứu cần xử lý bảng số liệu. Em không biết nhiều về excel nên nhờ anh chị giúp đỡ em với ạ!
File của em có cột dữ liệu tên là "code". Mỗi 1 mã code cần nhân lên thành 8 hàng (các dữ liệu về year, exit, size, pro, im_ex, hhi, hori thì để trống cũng đc ạ). Có một số mã code đã đủ 8 hàng, nhưng một số mã thì chưa đủ. Có gần 30.000 mã nên em không tự insert thêm hàng bằng tay thủ công được ạ, mà em tìm cách trên mạng cũng không biết phải tìm kiểu gì. Mong anh chị giúp đỡ em ạ!
Thử code
Mã:
Sub ABC()
  Dim Res(), sArr(), Code
  Dim i&, j&, k&, r&, sRow&, sCol&
 
  sArr = Range("A1", Range("J" & Rows.Count).End(xlUp)).Value2
  sRow = UBound(sArr): sCol = UBound(sArr, 2)
  ReDim Res(1 To (sRow - 1) * 8, 1 To sCol)
 
  For i = 2 To sRow
    Code = sArr(i, 2)
    If Code <> sArr(i - 1, 2) Then
      For r = 1 To 8 'Moi code la 8 dong
        k = k + 1
        Res(k, 1) = r: Res(k, 2) = Code
        If r = sArr(i, 1) Then
          For j = 3 To sCol
            Res(k, j) = sArr(i, j)
          Next j
          i = i + 1
        End If
      Next r
    End If
    i = i - 1
  Next i
 
  i = Range("L" & Rows.Count).End(xlUp).Row
  If i > 2 Then Range("L2:U" & i).ClearContents
  Range("L2").Resize(k, sCol) = Res
End Sub
 

File đính kèm

  • số liệu.xlsb
    885.9 KB · Đọc: 7
Web KT
Back
Top Bottom