Cần giúp: Hàm tính mã số mã vạch chính xác

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

nghiemcongdien

Thành viên mới
Tham gia
6/10/16
Bài viết
33
Được thích
5
Điểm
303
Em đang phải tạo mã số mã vạch cho sản phẩm của công ty. Các bác giúp em hàm hoặc Apps Script để tạo mã hàng loạt với ạ.
Em cảm ơn!
Cách tính như sau ạ:
1. Từ phải sang trái, cộng tất cả các số ở vị trí lẻ (trừ số kiểm tra ở cuối cùng)
2. Nhân kết quả bước 1 với 3
3. Cộng các số còn lại, từ trái sang phải các số ở vị trí lẻ (trừ số kiểm tra ở cuối cùng)
4. Cộng kết quả bước 2 với bước 3
5. Lấy bội số của 10 lớm hơn và gần kết quả bước 4 nhất trừ đi kết quả bước 4, kết quả là sô kiểm tra.

Ví dụ:
Tính số kiểm tra cho mã: 893460200107 C
Bước 1: 7 + 1 + 0 + 0 + 4 + 9 = 21
Bước 2: 21 x 3 = 63
Bước 3: 8 + 3 + 6 + 2 + 0 + 0 = 19
Bước 4: 63 + 19 = 82
Bước 5: 90 – 82 = 8 (là số kiểm tra ở cuối cùng)

Mã EAN-13 hoàn chỉnh là : 893456501001 8
 
Tính số kiểm tra cho mã: 893460200107 C

Mã EAN-13 hoàn chỉnh là : 893456501001 8



Đ â y nh ó e
Mã:
=ArrayFormula(if(B2:B="","",map(B2:B,LAMBDA(ma, ma & let(x,SUMPRODUCT(--MID(ma,{1,3,5,7,9,11},1))+SUMPRODUCT(--MID(ma,{2,4,6,8,10,12},1))*3,y,CEILING(x,10),y-x)))))
 
Đưa cái ví dụ đầu vào và đầu ra chớt quớt làm coi mãi không hiểu:
Mã:
=map(B2:B,lambda(x,if(x="",,x&mod(-sumproduct(mid(x,sequence(1,len(x)),1)*split(rept("1,3,",6),",")),10))))
 
Đưa cái ví dụ đầu vào và đầu ra chớt quớt làm coi mãi không hiểu:
Mã:
=map(B2:B,lambda(x,if(x="",,x&mod(-sumproduct(mid(x,sequence(1,len(x)),1)*split(rept("1,3,",6),",")),10))))
Em cảm ơn, em có ghi cách tính ở trên rồi mà.
Dù bác bảo chưa hiểu nhưng em test thấy đáp án vẫn đúng mà.
 
Web KT
Back
Top Bottom