Nhờ giúp rút gọn 1 chuỗi số.

Liên hệ QC

phamquocnga

Thành viên mới
Tham gia
26/11/08
Bài viết
15
Được thích
4
Em có một chuổi số gồm 10 số muốn rút gọn lại thành chuỗi số chỉ còn 4 số. Với điều kiện các chuổi 10 số khác nhau thì rút gọn lại thành chuỗi 4 sốcũng không bị trùng nhau. Không biết có cách nào giải quyết không ah. Mong các cao thủ giúp với. Em cảm ơn.
 
Em có một chuổi số gồm 10 số muốn rút gọn lại thành chuỗi số chỉ còn 4 số. Với điều kiện các chuổi 10 số khác nhau thì rút gọn lại thành chuỗi 4 sốcũng không bị trùng nhau. Không biết có cách nào giải quyết không ah. Mong các cao thủ giúp với. Em cảm ơn.
Đưa ví dụ bằng con số cụ thể đi bạn

Thân
 
Ví dụ 0912345678; 0934876546;... Mục đích của em là rút gọn dãy số điện thoại đó ah. Ra một dãy gồm 5 số hoặc là 5 ký tự cũng được.
0912345678 --> ra thành số có 4 con số gì?
0934876546 --> ra thành số có 4 con số gì?

Sao bạn không đánh vào file gửi lên chừng chục số và các ví dụ về kết quả mong muốn của mình, để dễ hiểu hơn không!?

Thân
 
0912345678 --> ra thành số có 4 con số gì?
0934876546 --> ra thành số có 4 con số gì?

Sao bạn không đánh vào file gửi lên chừng chục số và các ví dụ về kết quả mong muốn của mình, để dễ hiểu hơn không!?

Thân
Ví dụ 0909090909 thì kết quả là gì? Sử dụng kết kết quả này làm việc gì vậy bạn?
2 anh ơi em đoán bạn này đang muốn 1 công thức nào đó quy đổi từ 10 số về 5 số theo quy luật nào đó.Nhưng bạn đó cũng không biết quy luật đó nhờ mấy anh nghĩ dùm à.
 
2 anh ơi em đoán bạn này đang muốn 1 công thức nào đó quy đổi từ 10 số về 5 số theo quy luật nào đó.Nhưng bạn đó cũng không biết quy luật đó nhờ mấy anh nghĩ dùm à.
Sao được!
Vd: 0909090909=00000 -->được không?

Khà khà khà
/-*+//-*+//-*+/
 
CÓ thế dùng thuật toán crypto tính checksum CRCxxx
 
Mà rút gọn chi vậy bạn ?
 
Làm mã số cho học viên để kiểm tra 2 nơi nhập thông tin của hv đó có đúng không, thông qua số đt là mã bí mật
Sao bạn không lấy mã của ngay họ tên HV mà làm mật mã?
 
À, vậy thì chỉ dùng được CRC. MD5, SHAxxx thì cho kq rất dài.
Với trường hợp data của bạn như vậy thì khả năng trùng CRC hầu như kg xảy ra.
Gú gồ VBA CRC đi bạn ;
 
Sao bạn không lấy mã của ngay họ tên HV mà làm mật mã?
Chưa hiểu ý bạn. Mục đích mình là nơi A hv tự đăng ký thông tin và sđt, nơi B là hv cung cấp cho mình nhập vào 1 pm khác sau đó cấp cho hv một mã, mã này có kèm sđt mã hóa. Sau đó HV cập nhật mã này vào phần đăng ký nếu trùng sđt thì đồng ý. Trách hv nhập bừa hoặc 1 ngkhac nhập vào. Ý mình là vậy chứ chưa tìm ra giải pháp hợp lý.
Bài đã được tự động gộp:

À, vậy thì chỉ dùng được CRC. MD5, SHAxxx thì cho kq rất dài.
Với trường hợp data của bạn như vậy thì khả năng trùng CRC hầu như kg xảy ra.
Gú gồ VBA CRC đi bạn ;
Cảm ơn bạn mình sẽ tìm hiểu có gì mong bạn với ae giúp đỡ thêm.
 
Câu này chưa thể hiểu:
Mã mình cấp cho hv từ số đt của hv đã rút gọn nối với id của hv. Hv sẽ nhận mã này đến nơi A cập nhật thêm thông tin. Nếu nhập mã này vào ở A sẽ tách ra sđt và kiểm tra đúng với sđt hv nhập trước đó thì thực hiện các bước tiếp theo, nếu không trùng thì thoát.
 
À mà CRC16 sẽ cho ra kq có thể lớn nhất là 5 số đó bạn, max 32767 hay 65535.
Và kg thể tính ngược lại số ban đầu, tức chỉ mã hóa 1 chiều đó bạn.
Dùng được kg ?
 
Giống như kiểu như rút gọn link của 1 trang web vậy ấy. Và các chuỗi xuất ra sẽ k bị trùng nhau khi chuỗi nhập vào không trùng.
Chơi cái này cũng vui!
Giải pháp: ngắt 10 chữ số thành 5 phần, mỗi phần 2 chữ số, tức chỉ cần mã hóa 100 con số từ số 00 đến số 99 là xong.
Cột A: chứa chữ số từ 00 đến 99
Cột B: chứa các ký tự thay thế.
Côt E: ghi số điện thoại hoc sinh muốn "mã hóa" :)
Dùng hàm tự tạo JoinText() của thầy @ndu96081631, cụ thể như sau:
Mã:
F2=JoinText("",VLOOKUP(T(IF({1},MID(E2,{1,3,5,7,9},2))),$A$2:$B$100,2,))
G2=IF(F2="","",TEXT(SUM(IFERROR(FIND(MID(F2,{1,2,3,4,5},1),$B$2:$B$100)*10^{8,6,4,2,0}*(ROW($1:$100)-1),)),REPT("0",10)))
Kết thúc bằng Ctrl+shift+Enter.

Thân
 

File đính kèm

  • MaHoaSo.xlsb
    17.4 KB · Đọc: 14
Bạn thử 'ngâm cứu' cách này xem sao:

0913410111213141516171819
04608JKLMNOPQRS
0M73L
 
Web KT
Back
Top Bottom