Nhờ hướng dẫn tạo công thức tự động tăng số chứng từ

Liên hệ QC

ManhHungMHNH

Thành viên chính thức
Tham gia
21/1/07
Bài viết
76
Được thích
0
Mình có File kho nhập hàng 152, 153, 155, 156 nhờ mọi người làm sữ hộ công thức cho nó tự động tăng chứng từ số phiếu nhập kho khi chọn tài khoản.+-+-+-+
 

File đính kèm

Mình tham gia công thức gọn hơn 1 chút, dùng condition format để xoá 000
 

File đính kèm

Lần chỉnh sửa cuối:
Mình tham gia công thức gọn hơn 1 chút, dùng condition format để xoá 000

Công thức của bạn gọn nhưng nó lại không đáp ứng yêu cầu.
Bởi vì bạn dựa vào đếm cột TK Có,
nhưng 1 phiếu có thể có nhiều mã hàng, mỗi mã hàng chiếm 1 dòng, nhưng chúng sẽ có cùng số hiệu TK Có và cùng 1 số phiếu.

Dùng offset để thuận tiện khi chèn thêm, xoá bớt dòng. Không bao giờ ngại sẽ tạo ra vòng tham chiếu quẩn.

Ví dụ cong thức ô B15 là:
{=IF(AND(E15<>"",D15=D14,C15=C14,G15=G14), B14, IF(G15=152, "NL", IF(G15=153, "CC", IF(G15=155, "TP", IF(G15=156, "HH", "xxx")))) & TEXT(MAX(IF(LEFT($B$9:B14, 2) = IF(G15=152, "NL", IF(G15=153, "CC", IF(G15=155, "TP", IF(G15=156, "HH", "xxx")))), --RIGHT($B$9:B14, 3), 0)) + 1, "000"))}

Bạn thấy nó tham chiếu đến các ô ở dòng "ngay phía trên nó".
Tuy nhiên khi chèn thêm hoặc xoá bớt 1 vài dòng (mà chuyện này kế toán rất ưa xảy ra trong quá trình nhập liệu) thì các tham chiếu ở chỗ màu đỏ trong công thức trên sẽ chạy theo và làm cho nó không còn đúng với nghĩa "ngay phía trên nó" nữa.
Chẳng hạn khi lôi dòng 17 lên chèn vào giữa dòng 14 và 15 thì công thức ô B15 cũ lúc bấy giờ đã tụt xuống thành dòng 16:
{=IF(AND(E16<>"",D16=D14,C16=C14,G16=G14), B14, IF(G16=152, ....

Thay những chỗ màu đỏ trên bằng Offset:
{=IF(AND(E15<>"", D15 = OFFSET(D15, -1, 0), C15 = OFFSET(C15, -1, 0), G15 = OFFSET(G15, -1, 0)), OFFSET(B15, -1, 0), IF(G15=152, "NL", IF(G15=153, "CC", IF(G15=155, "TP", IF(G15=156, "HH","xxx")))) & TEXT(MAX(IF(LEFT($B$9:OFFSET(B15, -1, 0), 2) = IF(G15=152, "NL", IF(G15=153, "CC", IF(G15=155, "TP", IF(G15=156, "HH", "xxx")))), --RIGHT($B$9:OFFSET(B15, -1, 0), 3), 0)) + 1, "000"))}

Như vậy công thức ô B15 chỉ còn tham chiếu đến các ô cùng dòng với nó, không sợ sự cố khi di chuyển, xóa, chèn dòng.

Trong file kèm theo đây bạn có thể di dời thoải mái các dòng sao cho trong cùng 1 phiếu thì các mặt hàng Công cụ, Hàng hóa ... liên tục nhau (chọn dòng rồi nhấn Ctrl+C, Ctrl+V).
 

File đính kèm

To muontennguoikhac:

công thức cho nó tự động tăng chứng từ số phiếu nhập kho khi chọn tài khoản
Bạn đọc không kỹ yêu cầu cụ thể của bài nay rồi. Cả phần ví dụ trong file nữa

Tuy nhiên khi chèn thêm hoặc xoá bớt 1 vài dòng (mà chuyện này kế toán rất ưa xảy ra trong quá trình nhập liệu).
Thêm bớt là chuyện thường ngày của kế toán. Nhưng làm Kế toán bằng Excel mà thêm bớt vào sheet data bằng delete hay Insert dòng thì mình tham gia là không nên mà nên xoá các vùng nhập của dòng cần xoá hay thêm vào hàng cuối cùng của dữ liệu.Lý do tại sao thì nhưng ai làm link dữ liệu chắc thấm thía hơn. Sau đó dùng lệnh Sort để sắp xếp. Như vậy, sự thống nhất và an toàn dữ liệu cao hơn. Các bạn để ý xem các CSDL cũng đều làm như vậy đối với các Table
 
Lần chỉnh sửa cuối:
To muontennguoikhac:

Bạn đọc không kỹ yêu cầu cụ thể của bài nay rồi. Cả phần ví dụ trong file nữa
Làm kế toán thì ai cũng biết file đó là gì.
Chuyện này không cần nói tới nữa.


Thêm bớt là chuyện thường ngày của kế toán. Nhưng làm Kế toán bằng Excel mà thêm bớt vào sheet data bằng delete hay Insert dòng thì mình tham gia là không nên mà nên xoá các vùng nhập của dòng cần xoá hay thêm vào hàng cuối cùng của dữ liệu.Lý do tại sao thì nhưng ai làm link dữ liệu chắc thấm thía hơn. Sau đó dùng lệnh Sort để sắp xếp. Như vậy, sự thống nhất và an toàn dữ liệu cao hơn. Các bạn để ý xem các CSDL cũng đều làm như vậy đối với các Table

Chuyện này thì đúng, rất đúng. Nên đặt data như 1 CSDL riêng ra.
Làm như cái file đó thì khó quản lý sự thống nhất, an toàn.
 
Lần chỉnh sửa cuối:
Rất cảm ơn mọi người đã góp ý. Cảm ơn nhiều@$@!^%
 
Web KT

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

Back
Top Bottom