1. 程式人生 > >Excel自定義函式_身份證號碼校驗

Excel自定義函式_身份證號碼校驗

先上校驗規則

身份證號碼校驗規則一般應有:

  • 位數校驗:是否18位
  • 性別校驗:號碼所反映的性別與登記的文字性別是否一樣
  • 日期校驗:①年份 出生年份比當前系統年份晚為錯,早於100也記為錯,應核實;②月份數值 應在01-12之間;③日期數值 1/3/5/7/8/10/12月應為01-31之間,4/6/9/11月應為01-30之間,2月閏年01-29 平年01-28
  • 校驗碼:校驗碼是啥,規則是啥,不清楚的請百度。

前幾日,有網友詢問Excel校驗身份證號碼的函式,網路上沒見到過比較系統、完全的函式組合,而自己之前整理的函式組合模板也不知道扔哪兒去了,只得回覆上述規則讓其自行百度去了。今天得空,便把之前寫過的Excel外掛裡身份證證相關函式摘出來重新打包一下分享出來。

使用說明

程式檔案是.xll格式的Excel外掛,區分32位、64位,如下圖很明顯看出兩個帶“64”字樣的是一組,另外兩個一組是32位的。

其中packed.xll是打包好的程式檔案,ExcelDna.IntelliSense是自定義函式顯示智慧提示的支援檔案。

檔案建議放到C盤或者其他不會變動路徑的地方,路徑變動後外掛便不能使用。載入方式是功能區【開發工具】—【Excel載入項】—【瀏覽】,演示作業系統是64位的。

載入成功後一個明顯的變化是功能區多出一個顯示作者資訊的ribbontab(選項卡)。

此外,在【公式】選項卡,點【插入函式】,可以找到新增的自定義函式類IDCardNumberFunctions及其包括的3個函式。

函式使用說明

①有錄入性別的=IDCardNumberCheck(身份證號碼,性別)

②沒有錄入性別的使用ExtractGender在號碼提取代替,忽略性別檢查

重要提示:自定義函式計算結果務必複製——貼上為值,因為在不裝有本外掛的電腦上函式是無效的。

需要定製Excel功能可以交流 QQ975601416

下載工具   

連結: https://pan.baidu.com/s/1c-v155cHlQMSzlrM13ayAg 提取碼: nr31

相關推薦

Excel定義函式_身份證號碼

先上校驗規則 身份證號碼校驗規則一般應有: 位數校驗:是否18位 性別校驗:號碼所反映的性別與登記的文字性別是否一樣 日期校驗:①年份 出生年份比當前系統年份晚為錯,早於100也記為錯,應核實;②月份數值 應在01-12之間;③日期數值 1/3/5/7/8/10/12

java身份證號碼、郵箱、手機號碼/電話號碼

i++ start exceptio span cas table mail pub sys import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.

身份證號碼 java

最近在身份證認證的時候,需要對身份證號碼進行校驗。這裡進行記錄下 package com.ptpl.web.util; /**   * 身份證前6位【ABCDEF】為行政區劃數字程式碼(簡稱數字碼)說明(參考《GB/T 2260-2007 中華人民共和國行政區劃程式碼》)

【Java】——定義註解對引數進行、spring掃描定義註解

前提    上篇部落格中詳細介紹自定義註解的使用,本文主要是對自定義註解的進一步深入。會使用CGLIb進行動態代理來完成對方法引數是否為空的判斷,以及再spring中如何掃描自定義註解自定義註解對方法引數為空校驗為什麼要用動態代理?因為Java的反射拿不到引數的相關資訊,對方

超完整、全面的身份證號碼

/** * identityCardVerify:身份證校驗 * param:cardId==身份證元素id */var identityCardVerify= function (cardId) {    var vcity = {        11: "北京", 12:

【正確方法,流程註解清晰】MySQL定義函式生成隨機身份證號碼

有需要用MySQL生成隨機身份證號碼,沒有在網上搜到,於是自己寫了下。年前寫了一部分,年後營養豐富後在曠工一天後活力滿滿,一鼓作氣的寫成了。其中完全按照【身份證演算法】實現,也將實現步驟拆成了獨立的函式,清晰的解釋了方法功能,對步驟進行了一定講解,但是還有可以優化的地方,這就

BootstrapValidator 動態插入的元素以及定義函式

Example:<script type="text/javascript" src="bootstrap/js/bootstrapValidator.min.js"></script

C語言_定義函式使用用例

1 . 實現一個函式,列印乘法口訣表,口訣表的行數和列數自己指定 輸入9,輸出9*9口訣表,輸出12,輸出12*12的乘法口訣表。 #include<stdio.h> int m

EXCEL表格中直接使用vb6建立的dll中的定義函式

使用EXCEL2010+VB6.0 1、在vb6.0中新建一個ActiveX dll工程 名:=阿亮自定義DLL 2、新建一個類(名:=aliangDLL) 3、寫入程式碼 Function 不重複數(rng As Object) As Integer Dim d

C語言_定義函式裡使用結構體_Cplus14.6

#include<stdio.h> #define FUNDLEN 50 struct fund {char bank[FUNDLEN];double bankfund;char save[FUNDLEN];double savefund; }; double

EXCEL定義函式的應用(關於 XOR 在 EXCEL 中的用法 及 文字型數字求和)

EXCEL 中,能否同調用內建函式一樣在工作表中呼叫自已製作的自定義函式,出現對話方塊.同時也能做到像內建函式對話方塊裡的說明?答案是肯定的,下面舉例說明:題目: ①對文字型一系列數字進行求和(SUM()返回0)              ②對數值型的一系列數字異或操作(EX

使用VBA在EXCEL中插入圖片定義函式(網路URL/本地URL)

Sub InsertPic(ByVal 圖片連結 As String, ByVal 插入圖片表名 As String, ByVal 插入圖片單元格地址 As String) On Error Resume Next Dim rng As Range

POI對Excel定義日期格式的讀取

大數 -i ride 字符串 所有 sfc ats http 錯誤 cell.getCellStyle().getDataFormat();根據這個值進行時間、日期格式的判斷;POI讀取出來的結果也是有些變化的;需要在實際項目中進行確認; 時間格式的遍歷:

EXCEL定義符合自己習慣的操作環境及辦公入門操作視頻課程

復制 shadow 效果 文件的 技術分享 exc 布局 roc jpg 課程目標Office軟件默認的工作環境都是一樣的,但默認的工作環境可能並不適合每個用戶的使用習慣.為了更加高效地完成工作,通過本課程的學習,熟悉Excel2013定制操作環境的功能以及Excel辦公入

Excel定義顏色美化單元格顏色配置技巧與定義顏色主題

ref 行修改 col ffffff 字體 自定義 技術分享 course 常見問題 用戶可以在內置主題的基礎上,對主題的顏色和字體等進行修改,然後保存為新的主題,以方便在其它工作簿中使用!(常見問題)Excel按條件填充顏色顏色配置技巧與自定義顏色主題 【解決方法,教程視

Oracle資料庫定義函式練習

--測試函式3 CREATE OR REPLACE FUNCTION FN_TEST3 (NUM IN VARCHAR2) RETURN VARCHAR2 IS TYPE VARCHAR2_ARR IS TABLE OF VARCHAR2(300); NUMARR VARCHAR2_ARR; TEMPN

除錯經驗——如何檢視Oracle定義函式 (How to view definition of user defined functions in Oracle)

問題描述: 現有的Query中似乎使用了一個自定義函式String_to_list,為了排查問題,需要檢視這個函式的定義。 方法:   --新建的function,並未儲存在All_ojbects表中,而是儲存在user_objects表中 SELECT * FRO

除錯經驗——使用定義函式在Oracle中實現類似LISTAGG函式的行轉列(字串連線)功能

問題描述: LISTAGG函式是一個很實用的函式,但僅在Oracle 11.2以後的版本中才有。 生產環境中有個資料庫是Oracle 11.1,需要行轉列,但並不能使用LISTAGG函式。 解決方法: 參考以下文章: https://oracle-base.com/artic

MySQL的sql定義函式

SQL強大的一個原因就是函式豐富,MYSQL為例,函式有以下幾種: 數學函式 字串函式 日期和時間函式 條件判斷函式 系統資訊函式 加密函式 格式化函式 同時,MYSQL也支援自定義函式,這篇文章分為兩個部分,限於篇幅,第一個部分介紹常用函式,第二部分講解如何自定義函式。 原生函式

Mysql中儲存過程與定義函式的區別

建立儲存過程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parameter ...]]) [ characteristi