Dalam artikel sebelumnya "Perkongsian kes Excel: 5 teknik cekap yang boleh direalisasikan dengan hanya "seret dan lepas"", kami mempelajari 5 teknik cekap yang boleh direalisasikan dengan hanya "seret dan lepas" dalam Excel. Hari ini kita akan bercakap tentang formula fungsi Excel untuk menyemak ketulenan nombor kad pengenalan, datang dan lihat!
Bercakap tentang perkara yang mengerikan seperti vaksin palsu dan susu tepung tercemar, saya benar-benar marah dan tidak berdaya untuk perkara sebegini, sebagai orang biasa, kita hanya boleh berharap yang berkaitan jabatan Kita boleh memperkukuhkan usaha pengurusan dan pemeriksaan untuk mengelakkan kejadian ganas seperti itu berulang. Pada masa yang sama, anda mesti lebih berhati-hati tentang kerja anda, dan semak berulang kali dalam banyak pautan yang terdedah kepada ralat untuk mengelakkan beberapa akibat buruk Contohnya, nombor ID dalam fail pekerja adalah kawasan bencana yang sangat terdedah kepada masalah!
Hari ini kami akan berkongsi dengan anda formula untuk menyemak sama ada terdapat ralat dalam nombor ID.
Secara umumnya, akan terdapat dua jenis ralat dalam nombor ID, ralat panjang dan ralat kandungan.
Kebanyakan sebab ralat berlaku semasa proses input Untuk ralat panjang, ia pada masa ini adalah nombor 18 digit Jika terdapat ralat dalam panjang, ia lebih mudah dicari, tetapi jika salah satu daripada nombor muncul Ralat sangat sukar untuk dikesan dan boleh menyebabkan akibat yang serius pada masa hadapan Oleh itu, tumpuan hari ini adalah untuk mengesahkan ketepatan kandungan.
1. Prinsip komposisi nombor ID
Pertama sekali, anda perlu memahami sedikit tentang peraturan pengekodan nombor ID:
Nombor ID 18 digit terdiri daripada: dddddddyyyymmddxxsp, sejumlah 18 digit, di mana: 1-6 digit ialah kod kawasan, 7-14 ialah tarikh kelahiran, 15-17 ialah kod jantina, dan digit terakhir Ia adalah digit semak berdasarkan 17 digit sebelumnya.
Peraturan pengiraan untuk digit semakan adalah lebih rumit:
(1) Formula penjumlahan berwajaran bagi kod ontologi tujuh belas digit pertama
S = Jumlah (Ai * Wi), i = 0, ..., 16, pertama jumlahkan pemberat 17 digit pertama
Ai: mewakili nilai digital nombor ID pada kedudukan ke-i
Wi: mewakili faktor pemberat pada kedudukan ke-i
Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2) Modul pengiraan
Y = mod(S, 11)
(3) Dapatkan kod semak yang sepadan melalui modulus
Y: 0 1 2 3 4 5 6 7 8 9 10
Kod semak: 1 0 Kod semak dikira mengikut peraturan dan kemudian dibandingkan dengan digit terakhir Jika tidak konsisten, terdapat a masalah. Agak sukar untuk memahami peraturan ini. Mari kita ambil contoh:
1. Darabkan 17 digit nombor ID sebelumnya dengan pekali yang berbeza. Pekali dari kedudukan pertama hingga ketujuh belas ialah:
7-9-10-5-8-4-2-1-6-3-7-9-10-5-8- 4-2 .
2. Tambahkan hasil darab nombor dan pekali 17 digit ini.
3. Bahagikan hasil tambah dengan 11, apakah bakinya?
4. Baki hanya boleh 11 nombor: 0-1-2-3-4-5-6-7-8-9-10. Nombor ID terakhir yang sepadan ialah 1-0-X-9-8-7-6-5-4-3-2.
5 Dengan membandingkan kod semakan, kita tahu bahawa jika bakinya ialah 3, angka ke-18 kad pengenalan akan muncul sebagai 9. Jika nombor yang sepadan ialah 10, nombor terakhir pada kad pengenalan ialah angka Rom 2.
Contohnya: nombor kad pengenalan lelaki ialah [53010219200508011x], mari lihat sama ada kad pengenalan ini ialah kad pengenalan yang sah.
Mula-mula kita mendapat jumlah produk 17 digit pertama
[(5*7) (3*9) (0*10) (1* 5) (0 *8) (2*4) (1*2) (9*1) (2*6) (0*3) (0*7) (5*9) (0*10) (8* 5) (0 *8) (1*4) (1*2)】 ialah 189, dan kemudian bahagikan 189 dengan 11 untuk mendapatkan keputusan 189/11=17-- --2 , yang bermaksud bakinya ialah 2. Akhir sekali, melalui peraturan yang sepadan, kita boleh mengetahui bahawa kod semak sepadan dengan baki 2 ialah X, jadi kita boleh menentukan bahawa ini adalah nombor ID yang betul.
2. Semak ketulenan nombor kad pengenalan dengan ExcelPersoalannya sekarang ialah bagaimana menggunakan formula Excel untuk proses pengiraan ini, kongsi formula dengan semua orang di sini:
=IF(RIGHT(A2)=MID("10X98765432",MOD(SUM(MID(A2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11) 1,1),"真","假")
Formula kelihatan sangat rumit Apabila menggunakannya, anda hanya perlu mengubah suai dua A2 kepada kedudukan yang sepadan dengan nombor ID dalam borang anda.
Mari kita bercakap secara ringkas tentang idea formula
MID("10X98765432",MOD(SUM(MID(A2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11) 1,1)
Fungsi rentetan ini adalah untuk mengira 17 digit sebelumnya mengikut peraturan kod semak, dan kemudian membandingkannya dengan RIGHT(A2) Fungsi RIGHT(A2) adalah untuk bermula dari Ekstrak digit paling kanan dari A2 dan gunakan fungsi if untuk menilai berdasarkan hasil perbandingan.
Kita boleh menggunakan formula ini sekali lagi untuk menyemak sama ada nombor ID dalam gambar pada permulaan artikel adalah betul:
Hasilnya palsu.
Anda juga boleh menggunakan formula ini untuk menyemak sama ada terdapat nombor ID yang salah dalam borang anda.
Cadangan pembelajaran berkaitan: tutorial cemerlang
Atas ialah kandungan terperinci Perkongsian kes Excel: Gunakan formula fungsi untuk menyemak ketulenan nombor ID. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!