Hàm dư đầu kỳ

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi thungo, 5 Tháng năm 2005.

3,791 lượt xem

  1. thungo

    thungo Thành viên sơ cấp

    Bài viết:
    12
    Đã được thích:
    0
    Nơi ở:
    Hà nội
    Thấy các bạn làm phần mềm trên excel hay wa' trời, mình cũng có một hàm mà tôi thấy là hay gửi cho các bạn tham khảo, và góp ý.
    Sheet1
    A5=STT
    B5=Số CT
    C5=Ngày CT
    D5=Nội dung
    E5=TK Nợ
    F5=TK Có
    G5=Số tiền
    Chú ý:Dòng cuối cùng của cột A5 các bạn phải thêm dấu #
    Sheet2
    A3=Số TK (Tôi làm có 175 tài khoản, do đó I của tôi <=178)
    B3=Tên TK
    C3=Dư Nợ
    D3=Dư Có
    Chú ý:Dòng cuối cùng của cột A3 các bạn phải thêm dấu #
    Các bạn đánh vào trong module nhé:
    Function Dudky(SOTK As Long, Thang As Byte) As Double
    Dim I As Integer
    Dim SODN, FSDKNO, FSDKCO As Double
    'Xác định số đầu năm
    SODN = 0
    I = 4
    Do While I <= 178
    If Sheet2.Cells(I, 1) = SOTK Then
    SODN = Sheet2.Cells(I, 3) - Sheet2.Cells(I, 4)
    Exit Do
    End If
    I = I + 1
    Loop
    'Tính phát sinh trong kỳ
    FSDKNO = 0
    FSDKCO = 0
    I = 6
    While Sheet1.Cells(I, 1) <> "#"
    If Month(Sheet1.Cells(I, 3)) < Thang Then
    If Sheet1.Cells(I, 5) = SOTK Then
    FSDKNO = FSDKNO + Sheet1.Cells(I, 7)
    End If
    If Sheet1.Cells(I, 6) = SOTK Then
    FSDKCO = FSDKCO + Sheet1.Cells(I, 7)
    End If
    End If
    I = I + 1
    Wend
    'Thực hiện tính dư cuối kỳ
    Dudky = SODN + FSDKNO - FSDKCO
    End Function

    Chúc các bạn thành công!!!
     
    #1
  2. luckytranquan

    luckytranquan Thành viên sơ cấp

    Bài viết:
    31
    Đã được thích:
    0
    Nơi ở:
    HCM
    Chào bạn,
    Mình cảm ơn bạn nhiều lắm, mình sẽ thử xem. Mình có cách tính theo Công thức, không cần VB. Nhưng mình thích VB.
     
    #2
  3. lamquocuy

    lamquocuy Thành viên sơ cấp

    Bài viết:
    11
    Đã được thích:
    0
    Nơi ở:
    tphcm
    mình làm như hướng dẫn rồi,nhưng mà làm sao chạy hàm này vậy??
     
    #3
  4. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    To: luckytranquan,
    Không phải VB đâu ! Đó là VBA đấy!
    Lê Văn Duyệt
     
    #4
  5. thungo

    thungo Thành viên sơ cấp

    Bài viết:
    12
    Đã được thích:
    0
    Nơi ở:
    Hà nội
    bạn sử dụng như một hàm trong excel thôi, chẳng hạn bạn muốn tính dư đầu kỳ của TK 111 trong tháng mà bạn nhập ở sheet1,tôi giả sử bạn nhập chứng từ của tháng 4/2005 chẳng hạn, bạn để chuột vào bất cứ ô nào trong bất kỳ sheet nào và đánh: =dudky(111,4) và enter. Ok, chúc bạn thành công!
     
    #5
  6. luckytranquan

    luckytranquan Thành viên sơ cấp

    Bài viết:
    31
    Đã được thích:
    0
    Nơi ở:
    HCM
    Thanh You, Mình đã thành thử được rồi, nhưng còn vướng chỗ này:
    Số dư nợ và dư có của tài khoản loại TS ha NV phải đặt đúng chỗ. Hàm này Anh có đoạn code lấy Bên Có - Bên Nợ nên nó sẽ có số âm trên các TK NV, Mình đang chế lại, hì hì.
    Cảm ơn bạn đã giúp cho tư duy mình phát triển thêm, kiến thức là vô tậ mà.
    Chúc bạn có một ngày thật tốt đẹp,
     
    #6
  7. ForestC

    ForestC Thành viên sơ cấp

    Bài viết:
    377
    Đã được thích:
    1
    Nơi ở:
    E'rywhere
    Đối với hình thức Nhật ký sổ cái, mình thường lấy số dư đầu kỳ cho NKSC = hàm Hlookup, số liệu lấy từ bảng cân đối phát sinh.
     
    #7
  8. adam_tran

    adam_tran Steel Partner

    Bài viết:
    1,373
    Đã được thích:
    32
    Nơi ở:
    Goooogle
    Hàm dư đầu sử dụng công thức mảng

    Dành cho NXT.

    Thông thường khi quản lý NXT, bạn có 1 sheet riêng để nhập SPS. Sheet này có các cột mã NVL (MA) số lượng (SL), ngày (NGAY), Loại (LOAI = "N" or "X"), thành tiền (TIEN)...
    Một sheet khác để tổng hợp NXT. Phần tổng hợp Nhập - Xuất và Tồn cuối thì dễ dàng làm được với Formular Array. Đối với tồn đầu, chỉ cần 1 kinh nghiệm nhỏ bạn sẽ dễ dàng tính được mà không cần vùng đệm.
    Trước tiên, đối với tồn đầu kỳ của năm, thí dụ năm 2005, bạn cần nhập nó như 1 nghiệp vụ nhập với ngày nhập là 31/12/2004. (ngày cuối năm trước).
    Ở sheet tổng hợp NXT, thí dụ bạn cần tổng hợp từng tháng, thí dụ tháng 5, ở ô A2, bạn gõ vào số 4, ô A1 gõ vào công thức DATE(2005,A2,1), ô A1 sẽ cho ngày đầu tháng 01/05/2004.
    Ở cột A chứa mã NVL.
    Ở cột sản lượng cần TH, thí dụ cột C bắt đầu bằng dòng 3, bạn nhập:
    {=SUM(IF(MA=A3,IF(NGAY<$A$1,IF(LOAI = "N", SL, -SL);0);0))}
    Cột thành tiền cần TH, thí dụ cột D:
    {=SUM(IF(MA=A3,IF(NGAY<$A$1,IF(LOAI = "N", TIEN, -TIEN);0);0))}

    Ở đây chỉ có 2 mẹo nhỏ: Vì NXT chỉ có 2 nghiệp vụ nhập - xuất, xem nhập là NV dương, xuất là NV âm thì ta dễ dàng tính được tồn = nhập - xuất! Tồn đầu năm ta đưa vào như một NV nhập ở ngày đầu năm trước.
     
    #8
  9. thungo

    thungo Thành viên sơ cấp

    Bài viết:
    12
    Đã được thích:
    0
    Nơi ở:
    Hà nội
    Hàm của mình chỉ dùng để lấy số dư đầu kỳ của các tài khoản, tuy nhiên nó có một bất cập là có nhiều tài khoản là lưỡng tính do đó không thể lấy hai giá trị vừa nợ và vừa có được. Hơn nữa hàm này minh viết nục đích phục vụ cho một file để in sổ sách công ty mình. File này minh dùng Macro và in rất ngon lành. Có điều mình không biết poss lên do đó không gủi cho mọi người xem cùng được
     
    #9

Chia sẻ trang này