25/05/2018, 23:34

Hàm tạo số phiếu tự động trong Excel

1. Mục đích Kế toán khi làm việc trên excel, thường gặp 1 vấn đề với số chứng từ. Bài viết này sẽ hướng dẫn các bạn viết 1 hàm đơn giản để quản lý số chứng từ với mục đích: Đánh số phiếu (Phiếu nhập kho, xuất kho, phiếu thu, chi, hoá đơn bán hàng…) một cách tự động để tránh bị trùng ...

1. Mục đích

Kế toán khi làm việc trên excel, thường gặp 1 vấn đề với số chứng từ. Bài viết này sẽ hướng dẫn các bạn viết 1 hàm đơn giản để quản lý số chứng từ với mục đích:

  • Đánh số phiếu (Phiếu nhập kho, xuất kho, phiếu thu, chi, hoá đơn bán hàng…) một cách tự động để tránh bị trùng lặp.
  • Kiểm tra được tổng số phiếu

Xem ngay: Địa chỉ học Excel tại Hà Nội

2. Cách làm

Đầu tiên phải xác định được mẫu phiếu chuẩn có dạng như thế nào. Thông thường có 2 dạng chính:

  • Đánh số phiếu liên tiếp theo thứ tự: các dạng như PNK001  -> PNK100, PT01 -> PT100, PC1 …
  • Đánh số phiếu liên tiếp có kèm theo thời gian như năm hoặc tháng: PNK01/2017, PXK001/08…

Từ mẫu trên, ta có thể thấy số phiếu được chia thành 3 phần:

  • Phần ký tự đầu : Xác định loại phiếu (tạm gọi là P1)
  • Phần ký tự giữa: Xác định số thứ tự của phiếu (tạm gọi là P2)
  • Phần ký tự cuối: Xác định thời gian lập phiếu (tạm gọi là P3)

Ta có thể thấy hàm tạo số phiếu sẽ có dạng:

=P1&P2&P3

  • P1 gồm các ký tự text, do đó các ký tự text sẽ phải đặt trong dấu nháy kép, ví dụ “PNK”, “PXK”, “PT”, “PC”…
  • P2 là số thứ tự tăng dần đều, dựa trên những phiếu đã lập. Do đó ta xác định P2 dựa trên tổng số phiếu đã lập bằng hàm: Counta()+1 cho vùng chứa danh sách phiếu đã lập, trong đó Counta() sẽ ra kết quả tổng số phiếu đã lập.
  • Tuy nhiên kết quả trên chỉ có dạng số đơn thuần, để đưa về dạng 001, 002… thì ta cần bước chuyển đổi định dạng với hàm text

           Text(Counta(…),”00#”) hoặc Text(Counta(…),”0#”)

  • P3 chứa các giá trị thời gian, nên ta sử dụng hàm Year() hoặc Month() để tách thời gian từ 1 mốc thời gian có sẵn, hoặc tách thời gian theo thời điểm lập phiếu (là ngày hiện tại) bằng hàm

           Year(today()) hoặc Month(today())

Ghép lại ta sẽ có công thức dạng:

=”PNK”&Text(Counta(…),”00#”)&”/”&Year(today()) hoặc

=”PNK”&Text(Counta(…),”00#”)

3. Nâng cao

Có rất nhiều cách để đánh số phiếu tự động: Hàm hoặc VBA.

Trong trường hợp vùng danh sách phiếu đã lập sử dụng trong hàm Counta(….) bao gồm cả những phiếu xuất hiện nhiều lần sẽ làm kết quả bị sai, vậy làm thế nào để xử lý trong trường hợp này?

Những nội dung này sẽ được giải đáp trong khoá học IM101 – Tự tạo phần mềm quản lý kho với Excel và VBA, khoá học giúp bạn nâng cao kỹ thuật quản lý dữ liệu, kỹ năng sử dụng excel và tạo ra công cụ giúp quản lý công việc hiệu quả hơn.

0