Check IMEI trên Excel

Liên hệ QC

lamhieuthuan

Thành viên mới
Tham gia
15/4/08
Bài viết
8
Được thích
3
HTML:
Thuật toán dùng để tính toán số này như sau:

Bước 1: Nhân đôi giá trị của những số ở vị trí lẻ (là các số ở vị trí 1, 3, 5,...,13), trong đó số thứ 1 là số ngoài cùng phía bên phải của chuỗi số IMEI.

Bước 2: Cộng dồn tất cả các chữ số riêng lẻ của các số thu được ở bước 1, cùng với các số ở vị trí chẵn (là các số ở vị trí 2, 4, 6 ... 14) trong chuỗi số IMEI.

Bước 3: Nếu kết quả ở bước 2 là một số chia hết cho 10 thì số A sẽ bằng 0. Nếu kết quả ở bước 2 không chia hết cho 10 thì A sẽ bằng số chia hết cho 10 lớn hơn gần nhất trừ đi chính kết quả đó.

Ví dụ: số IMEI là 35088010195032A, trong đó A là số kiểm tra cần phải tính toán.
Bước 1: 10, 16, 0, 0, 18, 0, 4
Bước 2: (1 + 0 + 1 + 6 + 0 + 0 + 1 + 8 + 0 + 4) + (3 + 0 + 8 + 1 + 1 + 5 + 3) = 42
Bước 3: A = 50 – 42 = 8
Như vậy số IMEI hợp lệ A phải là 8 => 350880101950328.
Công thức để kiểm tra là như vậy. Mình muốn làm một bảng tính, nhập số IMEI vào một ô, nếu số IMEI hợp lệ nó sẽ bình thường, còn số IMEI sai sẽ được tô đỏ. Các bạn giúp mình nghiên cứu cái này với,thanks.
 
Lần chỉnh sửa cuối:
Bạn xem file nhé, test với số IMEI có 15 số.
 

File đính kèm

Check rất chính xác, nhưng mình ko thấy macro hay chổ nào để tô màu nền và màu text cả. Mình sửa lại như thế nào để nó check được cả một cột.
 
Lần chỉnh sửa cuối:
Bạn viendo cố gắng lên... Tôi nghĩ có thể làm nó mà ko cần bất cứ cột phụ nào đấy.. Cứ gõ vào cột nhập liệu thì cột tương ứng sẽ ra luôn kết quả...
ANH TUẤN
 
Bạn viendo cố gắng lên... Tôi nghĩ có thể làm nó mà ko cần bất cứ cột phụ nào đấy.. Cứ gõ vào cột nhập liệu thì cột tương ứng sẽ ra luôn kết quả...
ANH TUẤN
anhtuan1066, viendo làm bằng công thức đi. Còn mình gặp công thức dài thì chịu, nên phải giải quyết bằng udf:
Mã:
Function TestIMEI(conso As String) As Byte
Dim chuso, n, i, sochan, sole
For n = Len(conso) To 1 Step -1
  chuso = Val(Mid(conso, n, 1))
  If (Len(conso) - n) Mod 2 = 0 Then
    nhan2 = chuso * 2
    For i = 1 To Len(nhan2)
      sole = sole + Val(Mid(nhan2, i, 1))
    Next
  Else
    sochan = sochan + chuso
  End If
Next
If (sole + sochan) Mod 10 = 0 Then
  TestIMEI = 0
Else
  TestIMEI = 10 - (sole + sochan) Mod 10
End If
lamhieuthuan kiểm tra lại dùm công thức
 
Bạn viendo cố gắng lên... Tôi nghĩ có thể làm nó mà ko cần bất cứ cột phụ nào đấy.. Cứ gõ vào cột nhập liệu thì cột tương ứng sẽ ra luôn kết quả...
ANH TUẤN
Cám ơn Anhtuan đã khích lệ, đệ bỏ hết cột phụ rồi.
Check rất chính xác, nhưng mình ko thấy macro hay chổ nào để tô màu nền và màu text cả. Mình sửa lại như thế nào để nó check được cả một cột.
Bạn test file xem đúng ý chưa nhé, tôi chỉ dùng Name và CF thôi, bạn vào Menu Insert/Name/Define để xem Name, chọn 1 cell ở cột A vào Menu Format/Conditional formating để xem điều kiện tô màu nhé (Học Sư Anhtuan hết đấy --=0)
 

File đính kèm

Hồi trước học xong chứng chỉ A là bỏ Excel luôn,mình cũng học CNTT nhưng dốt Excel, ko có dùng nó thường xuyên T_T, ở đây đúng là nhiều cao thủ cho mình học hỏi. Cám ơn tất cả các bạn GPE.
 
Web KT

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

Back
Top Bottom