Cách tách 01 cột số hiệu tài khoản, thành 02 cột tài khoản nợ và có (2 người xem)

Liên hệ QC

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

Khai.pham

Thành viên mới
Tham gia
5/8/17
Bài viết
7
Được thích
0
Giới tính
Nam
Mấy bác cao tài, giúp em này tý nha. Đó là trong nhật ký chung, có một cột số hiệu tài khoản, giờ mình chuyển nó thành 02 cột, 01 tài khoản nợ, đối ứng là tài khoản có, và 01 cột số tiền. Mình có đính kèm theo file.

Nhờ mấy bác cao tài giúp tý nhé.
 

File đính kèm

Mấy bác cao tài, giúp em này tý nha. Đó là trong nhật ký chung, có một cột số hiệu tài khoản, giờ mình chuyển nó thành 02 cột, 01 tài khoản nợ, đối ứng là tài khoản có, và 01 cột số tiền. Mình có đính kèm theo file.

Nhờ mấy bác cao tài giúp tý nhé.
dòng 26 không có số tiền là gì vậy, xử lý ra sao?
 
Bác delete giúp mình dòng đó nha
 
Mấy bác cao tài, giúp em này tý nha. Đó là trong nhật ký chung, có một cột số hiệu tài khoản, giờ mình chuyển nó thành 02 cột, 01 tài khoản nợ, đối ứng là tài khoản có, và 01 cột số tiền. Mình có đính kèm theo file.

Nhờ mấy bác cao tài giúp tý nhé.
5 dòng cuối tính số tiền từng định khoản giản đơn bao nhiêu, ghi rỏ ra
 
Mấy bác cao tài, giúp em này tý nha. Đó là trong nhật ký chung, có một cột số hiệu tài khoản, giờ mình chuyển nó thành 02 cột, 01 tài khoản nợ, đối ứng là tài khoản có, và 01 cột số tiền. Mình có đính kèm theo file.

Nhờ mấy bác cao tài giúp tý nhé.
Bạn trình bày ví dụ mẩu kết quả
 
Mình gửi lại file, trong đó có sheet mẫu ví dụ, tức là mỗi dòng là phải có số hiệu tài khoản bên nợ, và tài khoản có tương ứng.
Ví dụ,: Rút tiền gửi ngân hàng nhập quỹ tiền mặt, số tiền 1.000.000.
Ngày Diễn giải Tài khoản Nợ Tài khoản Có Số tiền
01/02/2013 Rút tiền gửi ngân hàng nhập quỹ tiền mặt 1111 112 1.000.000
 

File đính kèm

Mình gửi lại file, trong đó có sheet mẫu ví dụ, tức là mỗi dòng là phải có số hiệu tài khoản bên nợ, và tài khoản có tương ứng.
Ví dụ,: Rút tiền gửi ngân hàng nhập quỹ tiền mặt, số tiền 1.000.000.
Ngày Diễn giải Tài khoản Nợ Tài khoản Có Số tiền
01/02/2013 Rút tiền gửi ngân hàng nhập quỹ tiền mặt 1111 112 1.000.000
5 dòng cuối bạn tính định khoản như thế nào, bạn gởi lại file với dữ liệu gốc xuất từ phần mềm không thêm bớt và không được sort
 
Mình gửi lại, NKC này rất nhiều dòng. Khi mình chuyển ra như thế thì dùng công thức thế nào?
Mình cảm ơn nhé !
 

File đính kèm

Mình gửi lại, NKC này rất nhiều dòng. Khi mình chuyển ra như thế thì dùng công thức thế nào?
Mình cảm ơn nhé !
Vấn đề đơn giản hơn rồi, còn 3 vấn đề
1/ dùng công thức Excel với các cột phụ có thể sẽ nặng file, hoặc dùng code VBA chạy macro, bạn chọn 1 trong 2
2/ các Particulars của nợ có khác nhau, chỉ có 1 dòng bạn chọn như thế nào
3/ với file mới thì kết quả trình bài như file trước hay trình bài theo mẩu khác
 
Bạn giúp mình:
Vấn đề 1: dùng công thức excel, e-mail của mình (phamhoangkhai9648@gmail.com) , có thể gửi lại file cho mình tham khảo luôn nhé.
Vấn đề 2: Không hiểu chỗ này cho lắm, nghiệp vụ phát sinh mỗi ngày thì sẽ tương ứng phát sinh bên nợ, và có phải bằng nhau. Bạn giải thích rõ hơn giúp mình chỗ này, chỉ có 01 dòng là sao? (ban xem sheet mau, mà mình gửi file đính kèm nhé).
Vấn đề 3, xuất ra trình bày theo mẫu mới, (mẫu theo file, bên sheet mau) .
 

File đính kèm

Bạn giúp mình:
Vấn đề 1: dùng công thức excel, e-mail của mình (phamhoangkhai9648@gmail.com) , có thể gửi lại file cho mình tham khảo luôn nhé.
Vấn đề 2: Không hiểu chỗ này cho lắm, nghiệp vụ phát sinh mỗi ngày thì sẽ tương ứng phát sinh bên nợ, và có phải bằng nhau. Bạn giải thích rõ hơn giúp mình chỗ này, chỉ có 01 dòng là sao? (ban xem sheet mau, mà mình gửi file đính kèm nhé).
Vấn đề 3, xuất ra trình bày theo mẫu mới, (mẫu theo file, bên sheet mau) .
trong mẩu dòng đầu tiên có bên nợ là 642311(Printing and Stationery Exps) và bên có là 331127(The Gia) vậy chọn (Printing and Stationery Exps) hay (The Gia)
 
Giúp mình thế này nha: Bạn kế hợp lại giúp nha, vì đó là tên nhà cung cấp phải trả tương ứng.

Date Particulars Vch Type Vch No. Debit Account Credit Account Amount ( số tiền)
01/01/2016 (Printing and Stationery Exps)_(The Gia) Journal 1 642311 331127 669.771
01/01/2016 (Canteen and House Keeping Expenses)_(The Gia) Journal 1 642820 331127 1.863.047
01/01/2016 (Safety and Compliance)_(The Gia) Journal 1 642826 331127 776.357
 
Giúp mình thế này nha: Bạn kế hợp lại giúp nha, vì đó là tên nhà cung cấp phải trả tương ứng.

Date Particulars Vch Type Vch No. Debit Account Credit Account Amount ( số tiền)
01/01/2016 (Printing and Stationery Exps)_(The Gia) Journal 1 642311 331127 669.771
01/01/2016 (Canteen and House Keeping Expenses)_(The Gia) Journal 1 642820 331127 1.863.047
01/01/2016 (Safety and Compliance)_(The Gia) Journal 1 642826 331127 776.357
Kiểu nầy dùng công thức hơi khó phải dùng nhiều cột phụ, dùng VBA cho đơn giản được không
 
bạn chạy code và kiểm tra xem có sai sót không, mình tạo số thứ tự nghiệp vụ cho bạn dể kiểm tra, nếu cần mình sẽ bỏ cột thứ tự nghiệp vụ
Anh đính kèm nhầm file phải không? :( (Sub NKC chưa đủ)
-----
DeleteRow thì xóa lùi (step < 0) chứ anh.
 
Trường hợp NKC một cột tài khoản cho cả nợ có em gặp khi xài fast và smile, ta có thể chuyển sang NKC 2 cột tk nợ có bằng cách đổ sổ chi tiết tất cả tài khoản rồi chuyển ngược về NKC là nhanh nhất.
 
chào các bạn giả sử nghiệp vụ đơn giản
- rút tiền gửi ngân hàng nhâp quỹ N111/C112
- phức tạp hơn chút mua hàng chưa trả tiền
N 152
N 133
C 331
thì phải làm ra 2 dòng
N152 C 331
N133 C 331
nhiều nghiêp vụ có 2 nợ 2 có,... thì làm thế nào các bạn
Vi phạm nguyên tắc hạch toán kế toán và yêu cầu tổ chức cơ sở dữ liệu, nên có thể làm được, hên xui
 
chào các bạn giả sử nghiệp vụ đơn giản
- rút tiền gửi ngân hàng nhâp quỹ N111/C112
- phức tạp hơn chút mua hàng chưa trả tiền
N 152
N 133
C 331
thì phải làm ra 2 dòng
N152 C 331
N133 C 331
nhiều nghiêp vụ có 2 nợ 2 có,... thì làm thế nào các bạn
Trường hợp nhiều hơn dạng 3 nợ 2 có thì việc tách này chắc phải tách tay rồi
 
Em cũng muốn chuyển nhật ký chung có 1 cột tài khoản thành 2 cột tài khoản.
Rất mong được anh HieuCD hỗ trợ.
Nếu dữ liệu chuẩn như ví dụ
Mã:
Sub NKC()
  Dim sArr(), Res()
  Dim i As Long, k As Long, sRowNo As Long, fRow As Long
  Dim jNhieu As Byte, jDU As Byte
  Dim ST As Double, tkNo As String, tkCo As String, tkDU As String
 
  Application.ScreenUpdating = False
  With Sheets("NKC2")
    i = .Range("A" & Rows.Count).End(xlUp).Row
    If i > 3 Then .Range("A4:F" & i).Clear
    If i > 2 Then .Range("A3:F3").ClearContents
  End With
 
  With Sheets("NKC1")
    i = .Range("A" & Rows.Count).End(xlUp).Row
    If i < 3 Then MsgBox ("Khong co du lieu"): Exit Sub
    sArr = .Range("A2:F" & .Range("A" & Rows.Count).End(xlUp).Row + 1).Value
  End With
  ReDim Res(1 To UBound(sArr), 1 To 6)

  For i = 2 To UBound(sArr) - 1
    If sArr(i, 1) <> sArr(i - 1, 1) Then fRow = i
    If sArr(i, 5) > 0 Then
      sRowNo = sRowNo + 1
      tkNo = sArr(i, 4)
    Else
      tkCo = sArr(i, 4)
    End If
    
    If sArr(i, 1) <> sArr(i + 1, 1) Then
      If sRowNo = 1 Then
        jNhieu = 6:        jDU = 4:        tkDU = tkNo
      Else
        jNhieu = 5:        jDU = 5:        tkDU = tkCo
      End If
      sRowNo = 0
      
      For n = fRow To i
        ST = sArr(n, jNhieu)
        If ST > 0 Then
          k = k + 1
          Res(k, 1) = sArr(n, 1): Res(k, 2) = sArr(n, 2)
          Res(k, 3) = sArr(n, 3): Res(k, 6) = ST
          Res(k, jNhieu - 1) = sArr(n, 4): Res(k, jDU) = tkDU
        End If
      Next n
    End If
  Next i

  With Sheets("NKC2")
    If k Then
      .Range("A3:F3").Resize(k) = Res
      If k > 1 Then
        .Range("A3:F3").Copy
        .Range("A3:F3").Resize(k).PasteSpecial Paste:=xlPasteFormats
        Application.CutCopyMode = False
      End If
    End If
  End With
  Application.ScreenUpdating = True
End Sub
 

File đính kèm

bạn ơi chỉ mình cách chạy code này với, mình cũng gặp trường hợp tương tự mà không thể đưa nó về như cách bạn làm ý
 
bạn ơi chỉ mình cách chạy code này với, mình cũng gặp trường hợp tương tự mà không thể đưa nó về như cách bạn làm ý
bạn gửi file lên mọi người chạy hộ cho hoặc bấm alt+F11 hiện bảng rồi vào insert vào module rồi rán code vào F5 chạy là ok :D
 
Em có file này cũng cùng vấn đề là muốn chuyển thành 2 cột tài khoản nhưng dữ liệu nó lại lớn hớn thế nhiều nợ 1 có và nhiều có nhiều nợ
 

File đính kèm

Nếu dữ liệu chuẩn như ví dụ
Mã:
Sub NKC()
  Dim sArr(), Res()
  Dim i As Long, k As Long, sRowNo As Long, fRow As Long
  Dim jNhieu As Byte, jDU As Byte
  Dim ST As Double, tkNo As String, tkCo As String, tkDU As String

  Application.ScreenUpdating = False
  With Sheets("NKC2")
    i = .Range("A" & Rows.Count).End(xlUp).Row
    If i > 3 Then .Range("A4:F" & i).Clear
    If i > 2 Then .Range("A3:F3").ClearContents
  End With

  With Sheets("NKC1")
    i = .Range("A" & Rows.Count).End(xlUp).Row
    If i < 3 Then MsgBox ("Khong co du lieu"): Exit Sub
    sArr = .Range("A2:F" & .Range("A" & Rows.Count).End(xlUp).Row + 1).Value
  End With
  ReDim Res(1 To UBound(sArr), 1 To 6)

  For i = 2 To UBound(sArr) - 1
    If sArr(i, 1) <> sArr(i - 1, 1) Then fRow = i
    If sArr(i, 5) > 0 Then
      sRowNo = sRowNo + 1
      tkNo = sArr(i, 4)
    Else
      tkCo = sArr(i, 4)
    End If
   
    If sArr(i, 1) <> sArr(i + 1, 1) Then
      If sRowNo = 1 Then
        jNhieu = 6:        jDU = 4:        tkDU = tkNo
      Else
        jNhieu = 5:        jDU = 5:        tkDU = tkCo
      End If
      sRowNo = 0
     
      For n = fRow To i
        ST = sArr(n, jNhieu)
        If ST > 0 Then
          k = k + 1
          Res(k, 1) = sArr(n, 1): Res(k, 2) = sArr(n, 2)
          Res(k, 3) = sArr(n, 3): Res(k, 6) = ST
          Res(k, jNhieu - 1) = sArr(n, 4): Res(k, jDU) = tkDU
        End If
      Next n
    End If
  Next i

  With Sheets("NKC2")
    If k Then
      .Range("A3:F3").Resize(k) = Res
      If k > 1 Then
        .Range("A3:F3").Copy
        .Range("A3:F3").Resize(k).PasteSpecial Paste:=xlPasteFormats
        Application.CutCopyMode = False
      End If
    End If
  End With
  Application.ScreenUpdating = True
End Sub
Anh cho em hỏi anh dùng VBA đây phải không ạ, em chưa biết VBA em phải học ở đâu ạ, em cảm ơn anh!
 

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

Back
Top Bottom