Đánh số thứ thự phiếu thu chi (2 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

HangktGTN

Thành viên mới
Tham gia
13/8/25
Bài viết
7
Được thích
0
Chào cả nhà. Mong cả nhà chỉ giúp em cách đánh số thứ tự phiếu thu, chi, chứng từ ngân hàng theo thnags khi mình dùng filter ạ. Em cảm ơn!
 
Chào cả nhà. Mong cả nhà chỉ giúp em cách đánh số thứ tự phiếu thu, chi, chứng từ ngân hàng theo thnags khi mình dùng filter ạ. Em cảm ơn!
Đây bạn ạ. Mình muống đánh số thứ thự các phiếu thu, chi theo tháng. vì khi làm mình nhập 1 loaajt, giờ filter lại để lọc nhưng lại k kéo tăng số thứ tự được ạ
 

File đính kèm

ABC
1NgàyPhiếuSố
21/1/2025PCPC01001
31/1/2025PTPT01001
41/2/2025PCPC01002
51/2/2025PTPT01002
62/9/2025PKTPKT02001
73/1/2025PKTPKT03001
83/5/2025PKTPKT03002
93/20/2025PKTPKT03003
103/31/2025PKTPKT03004
Nếu ý tưởng của bạn là ra kết quả như thế này thì có thể thêm cột phụ loại phiếu và áp dụng công thức cho cả cột số phiếu: =B2&TEXT(MONTH(A2),"00")&TEXT(COUNTIFS(B$1:B2,B2,A$1:A2,">="&DATE(YEAR(A2),MONTH(A2),1),A$1:A2,"<"&EOMONTH(A2,0)+1),"000")
 
Mình có ý tưởng đánh phiếu thu chi tăng theo ngày của từng loại phiếu:


1755121866884.png
[Cột mã phiếu là cột mình mong muốn]
Mong muốn này của mình được Copilot thỏa đáng như macro dưới đây:

PHP:
Sub TaoMaPhieu()
    Dim lastRow As Long,   i As Long, j As Long
    Dim ngay As Date
    Dim namMa As String, thangMa As String, ngayMa As String, loaiMa As String
    Dim soThuTu As String
    Dim countSame As Integer

    lastRow = Cells(Rows.Count, "A").End(xlUp).Row

    For i = 2 To lastRow
        If IsDate(Cells(i, 1).Value) Then
            ngay = Cells(i, 1).Value           
            ' Mã nam  '
            Select Case Year(ngay)
                Case 2025: namMa = "E"
                Case 2026: namMa = "F"
                Case Else: namMa = "?"
            End Select           
            ' Mã tháng   '
            Select Case Month(ngay)
                Case 10: thangMa = "A"
                Case 11: thangMa = "B"
                Case Else: thangMa = CStr(Month(ngay))
            End Select           
            ' Mã ngày   '
            Select Case Day(ngay)
                Case 19: ngayMa = "J"
                Case Else: ngayMa = CStr(Day(ngay))
            End Select           
            ' Mã lo?i phi?u   '
            Select Case Cells(i, 2).Value
                Case "PC_": loaiMa = "C"
                Case "PT_": loaiMa = "T"
                Case "PCK": loaiMa = "CK"
                Case Else: loaiMa = "?"
            End Select           
            ' Ð?m s? dòng tru?c dócó cùng ngày và lo?i phi?u   '
            countSame = 0
            For j = 2 To i
                If Cells(j, 1).Value = Cells(i, 1).Value And Cells(j, 2).Value = Cells(i, 2).Value Then
                    countSame = countSame + 1
                End If
            Next j           
            ' S? th? t? d?ng 3 ch? s?   '
            soThuTu = Format(countSame, "000"
            ' Ghi mã phi?u vào c?t C   '
            Cells(i, 3).Value = namMa & thangMa & ngayMa & loaiMa & "_" & soThuTu
        End If
    Next i
    MsgBox "Ðã t?o mã phi?u xong!", vbInformation
End Sub
 
Mình có ý tưởng đánh phiếu thu chi tăng theo ngày của từng loại phiếu:


View attachment 309263
[Cột mã phiếu là cột mình mong muốn]
Mong muốn này của mình được Copilot thỏa đáng như macro dưới đây:

PHP:
Sub TaoMaPhieu()
    Dim lastRow As Long,   i As Long, j As Long
    Dim ngay As Date
    Dim namMa As String, thangMa As String, ngayMa As String, loaiMa As String
    Dim soThuTu As String
    Dim countSame As Integer

    lastRow = Cells(Rows.Count, "A").End(xlUp).Row

    For i = 2 To lastRow
        If IsDate(Cells(i, 1).Value) Then
            ngay = Cells(i, 1).Value          
            ' Mã nam  '
            Select Case Year(ngay)
                Case 2025: namMa = "E"
                Case 2026: namMa = "F"
                Case Else: namMa = "?"
            End Select          
            ' Mã tháng   '
            Select Case Month(ngay)
                Case 10: thangMa = "A"
                Case 11: thangMa = "B"
                Case Else: thangMa = CStr(Month(ngay))
            End Select          
            ' Mã ngày   '
            Select Case Day(ngay)
                Case 19: ngayMa = "J"
                Case Else: ngayMa = CStr(Day(ngay))
            End Select          
            ' Mã lo?i phi?u   '
            Select Case Cells(i, 2).Value
                Case "PC_": loaiMa = "C"
                Case "PT_": loaiMa = "T"
                Case "PCK": loaiMa = "CK"
                Case Else: loaiMa = "?"
            End Select          
            ' Ð?m s? dòng tru?c dócó cùng ngày và lo?i phi?u   '
            countSame = 0
            For j = 2 To i
                If Cells(j, 1).Value = Cells(i, 1).Value And Cells(j, 2).Value = Cells(i, 2).Value Then
                    countSame = countSame + 1
                End If
            Next j          
            ' S? th? t? d?ng 3 ch? s?   '
            soThuTu = Format(countSame, "000"
            ' Ghi mã phi?u vào c?t C   '
            Cells(i, 3).Value = namMa & thangMa & ngayMa & loaiMa & "_" & soThuTu
        End If
    Next i
    MsgBox "Ðã t?o mã phi?u xong!", vbInformation
End Sub
cảm ơn bạn. Bạn có thể viết rõ công thức giùm mình được k ạ
 
ABC
1NgàyPhiếuSố
21/1/2025PCPC01001
31/1/2025PTPT01001
41/2/2025PCPC01002
51/2/2025PTPT01002
62/9/2025PKTPKT02001
73/1/2025PKTPKT03001
83/5/2025PKTPKT03002
93/20/2025PKTPKT03003
103/31/2025PKTPKT03004
Nếu ý tưởng của bạn là ra kết quả như thế này thì có thể thêm cột phụ loại phiếu và áp dụng công thức cho cả cột số phiếu: =B2&TEXT(MONTH(A2),"00")&TEXT(COUNTIFS(B$1:B2,B2,A$1:A2,">="&DATE(YEAR(A2),MONTH(A2),1),A$1:A2,"<"&EOMONTH(A2,0)+1),"000")
nếu mình k thêm cột phụ thì có công thức nào khác k bạn
 
Nếu bạn không thêm cột phụ thì bạn cần làm rõ điều kiện nào là phiếu thu, điều kiện nào là phiếu chi... Vì mình đang thấy file của bạn điền phiếu thu và chi không tương ứng với tài khoản Nợ Có.
1755147276907.png
 
Nếu bạn không thêm cột phụ thì bạn cần làm rõ điều kiện nào là phiếu thu, điều kiện nào là phiếu chi... Vì mình đang thấy file của bạn điền phiếu thu và chi không tương ứng với tài khoản Nợ Có.
View attachment 309276
ví dụ nợ 112BV là PC, có 112BV là PT bạn ạ. Còn mấy chứng từ luân chuyển nội bộ mình sẽ đổi tên PKT
 
Đây là ý tưởng tách phiếu Thu, Chi, Ngân hàng, Phiếu kế toán theo tài khoản 112 không cần tách cột phụ bạn có thể thử ( công thức áp dụng cả cột "số hiệu"):
1755155767210.png
=IFS(AND(LEFT(D3,3)="112",LEFT(E3,3)="112"),"NH"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,"112*",$E$2:E3,"112*",A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)<>"112",LEFT(E3,3)<>"112"),"PKT"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,"<>112*",$E$2:E3,"<>112*",A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)="112",LEFT(E3,3)<>"112"), "PC"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,D3,A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)<>"112",LEFT(E3,3)="112"),"PT"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($E$2:E3,E3,A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"))
* với trường hợp có tài khoản 111 bạn thêm tiêu chí để phân loại trong công thức*
 
Đây là ý tưởng tách phiếu Thu, Chi, Ngân hàng, Phiếu kế toán theo tài khoản 112 không cần tách cột phụ bạn có thể thử ( công thức áp dụng cả cột "số hiệu"):
View attachment 309280
=IFS(AND(LEFT(D3,3)="112",LEFT(E3,3)="112"),"NH"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,"112*",$E$2:E3,"112*",A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)<>"112",LEFT(E3,3)<>"112"),"PKT"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,"<>112*",$E$2:E3,"<>112*",A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)="112",LEFT(E3,3)<>"112"), "PC"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,D3,A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)<>"112",LEFT(E3,3)="112"),"PT"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($E$2:E3,E3,A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"))
* với trường hợp có tài khoản 111 bạn thêm tiêu chí để phân loại trong công thức*
bạn gửi lại giùm mình file bạn làm được k ạ. Mình copy công thức mà k ra kết quả
 
Đây là ý tưởng tách phiếu Thu, Chi, Ngân hàng, Phiếu kế toán theo tài khoản 112 không cần tách cột phụ bạn có thể thử ( công thức áp dụng cả cột "số hiệu"):
View attachment 309280
=IFS(AND(LEFT(D3,3)="112",LEFT(E3,3)="112"),"NH"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,"112*",$E$2:E3,"112*",A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)<>"112",LEFT(E3,3)<>"112"),"PKT"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,"<>112*",$E$2:E3,"<>112*",A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)="112",LEFT(E3,3)<>"112"), "PC"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($D$2: D3,D3,A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"),
AND(LEFT(D3,3)<>"112",LEFT(E3,3)="112"),"PT"&TEXT(MONTH(A3),"00")&TEXT(COUNTIFS($E$2:E3,E3,A$2:A3,">="&DATE(YEAR(A3),MONTH(A3),1),A$2:A3,"<"&EOMONTH(A3,0)+1),"000"))
* với trường hợp có tài khoản 111 bạn thêm tiêu chí để phân loại trong công thức*
bạn thêm giùm mình công thưc thu chi tk 111 luôn nhé. Caem ơn bạn nhiều ạ
 

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

Back
Top Bottom