[Cần giúp]Lập mã phiếu có điều kiện (1 người xem)

  • Thread starter Thread starter mrbaloc
  • Ngày gửi Ngày gửi

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

mrbaloc

Thành viên mới
Tham gia
27/12/16
Bài viết
6
Được thích
0
Mình có 1 file cần tạo các mã phiếu với yêu cầu như sau:
- Nếu các cột Mã KH, Mã địa điểm, Mã chương trình và Note giống nhau thì cột mã phiếu sẽ giống nhau
- Nếu mã KH trùng nhưng các nội dụng các cột khác thì Mã Phiếu cũng khác.
- Còn mã KH khác nhau thì tạo mã phiếu khác
- Các mã phiếu sẽ tăng dần dựa vào phiếu đầu tiên

Mình suy nghĩ mãi không ra công thức cho phần này nên nhờ các cao thủ hỗ trợ. VBA hoặc công thức đều được ạ
 

File đính kèm

Trong mã của bạn có yếu tố ngày, nếu KH, địa điểm, chương trình và Note giống nhau nhưng khác ngày cũng tạo mã mới và đếm lại từ 01 đúng không?
 
Mã phiếu của bạn: NPP1-140717-01
Trong đó NPP1 có vẻ không ổn, vì Mã KH là NPP001 đã dự trù tới 1000 NPP
Vậy nếu NPP010 thì mã phiếu sẽ lã NPP010-140717-01 là không tương đồng về cấu trúc.
Vậy nên xây dựng mã phiếu sẽ là NPP001-140717-01 được không?
 
PHP:
A2=IF(COUNTIFS($C$2:C2,C2,$E$2:E2,E2,$I$2:I2,I2,$J$2:J2,J2)=1,"NPP1-"&TEXT(B2,"ddmmyy")&"-"&TEXT(IFERROR(MAX(RIGHT(A1,2)),0)+1,"00"),A1)
 
Mã phiếu của bạn: NPP1-140717-01
Trong đó NPP1 có vẻ không ổn, vì Mã KH là NPP001 đã dự trù tới 1000 NPP
Vậy nếu NPP010 thì mã phiếu sẽ lã NPP010-140717-01 là không tương đồng về cấu trúc.
Vậy nên xây dựng mã phiếu sẽ là NPP001-140717-01 được không?
à vì mình gõ ví dụ nên gõ cho nhanh nên vậy chứ mỗi KH có 1 mã riêng.
Yếu tố ngày sẽ lấy từ cột ngày đặt, và số thứ tự tự động tăng. qua mỗi ngày mới số thứ tự sẽ reset về 1
 
Mình xin đề nghị với bạn, thay vì 140717 ta chỉ xài 3 kí tự (hay/gồm có kí số) để biểu diễn thôi;
Ví dụ G7E để biểu diễn cho ngày trên;
Ở đây G chỉ nâm 2017; năm sau sẽ là H;
7 chỉ cho tháng 7; Tháng 10 sẽ là A,. . .
E chỉ cho ngày 14 vì ngày 10 là A

Có nghĩa là ngày 10/10 năm 2018 sẽ là HAA, bạn nghỉ sao?

Ta có thể viết 1 hàm người dùng để chuyển đổi qua lại giữa mã loại này & ngày cụ thể mà nó biểu trưng.
 
Mình xin đề nghị với bạn, thay vì 140717 ta chỉ xài 3 kí tự (hay/gồm có kí số) để biểu diễn thôi;
Ví dụ G7E để biểu diễn cho ngày trên;
Ở đây G chỉ nâm 2017; năm sau sẽ là H;
7 chỉ cho tháng 7; Tháng 10 sẽ là A,. . .
E chỉ cho ngày 14 vì ngày 10 là A

Có nghĩa là ngày 10/10 năm 2018 sẽ là HAA, bạn nghỉ sao?

Ta có thể viết 1 hàm người dùng để chuyển đổi qua lại giữa mã loại này & ngày cụ thể mà nó biểu trưng.

Như vậy khi cần gấp hoặc phải gửi báo cáo cho người khác đọc lại không hiểu.

Thanks hàm của bác @befaint
 

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

Back
Top Bottom