最近總是需要用EXCL提取數據,就順便學習一下MID和MIDB這兩個函數吧,這兩個函數的作用都是從一個字符串中截取出指定數量的字符。
首先來看看這兩個函數的三個參數
1、 TEXT,就是一個字符串(也可以指向某個單元格,即地址)。
2、 String text,指你需要截取的字符的位置(可以是一個數字,也可以是一串你需要從其他地方獲取的數值的計算公式,或者指向其他單元格)
3、 Length num_chars,你需要截取的字符的長度,道理同上。
再來了解一下函數的基本用法:
我們在單元格裡輸入下面,第一個參數随便寫一下
=MID("你好111,歡迎",2,4)
結果是:好111
根據上面函數的意思,這個語句的意思就是從"你好111,歡迎"這個字符串裡的第2個字符的位置,向後截取4個字符的一個字符串,是不是很好理解。
這個函數和MID函數意思是一樣的,但是,MIDB與MID有微小的區别,使用一下看一看。
同樣的,我們在單元格裡輸入下面,整個語句同上。
=MIDB("你好111,歡迎",2,4)
結果是:好1
兩個函數的結果不一樣,我們來找一下原因,來看一下系統裡對這兩個函數的介紹:
MIDB裡介紹說與雙字節字符集一起使用字符串,那什麼是雙字節呢?查了一下,我們的中文其實都是雙字節,就是一個字占兩個字符。
那在第二個函數中的意思就是從"你"這個字符的一半開始截取,往後共四位,那顯示出來的就隻有3個字符。但"好"字又占了兩個字符,所以結果就成了"好1"。
接下來可以多試幾個字符串,看看這兩個函數的對比。
根據上圖的顯示我們可以看到,最後輸的标點符号如果是在中文狀态下輸的,那也是占兩個字符的,但數字始終是隻占一個字符的,在以後運用到實際中可以根據需要選擇用哪一個函數。
上個實例吧:如圖我們知道一個人的身份證,想從身份證中提取他的生日和性别,就可以用到MID函數。
=MID(D3,7,8)
看看結果
雖然提取出來了,但是不是看着很不顯明,這裡就要用到前面說的TEXT函數了。
回憶一下TEXT函數,TEXT函數是将數值轉換為按指定數字格式表示的文本。那正好這裡我們就把我們提取出來的數字換成更清楚的日期模式,公式如下:
=TEXT(MID(D3,7,8),"0000-00-00")
往下拉,看看結果
這裡的0000-00-00是TEXT裡參數的一個常用代碼,大家可以自己去查一查,這個參數的代碼比較多,剛好這個日期的比較常用,咱們記着就行。
為什麼要用到餘數,大家可以仔細了解一下身份證号的規則,身份證号裡不止隐藏了一個人的生日,還有地區和性别的,當身份證第17位是個單數,就是男,雙數為女。
那這個性别就可以看成第17位除以2,如果餘數為1,那就是男,如果餘數為0,就是女。
那接下來就要用到公式了:
=IF(MOD(MID(D3,17,1),2)=1,"男","女")
看看結果
因為前面17位不小心都打成了雙數,就補個單數看下效果。
這個公式MID公式的結果是作為MOD的第一個參數,整個MOD函數又是作為IF函數第一個參數的部分,就是MOD函數的結果如果等于1,那就是男,否則就是女。
IF函數在前面也講到過,就是一個判斷真假,真的就怎麼樣,否則就怎麼樣。
那如果MOD函數的結果是1,相當于MID裡提取的這個數除以2餘1,也就是提取的這個數是單數,那IF裡1=1就是真的,那這個人就是男的,不然就是女的。
至于其他的根據身份證号查省啊,區啊的大家可以自己去搜一下規則了試一下,這是一個很簡單常用的實例,實例工作中運用到這個函數也很多。
好了,今天就學到這裡,下次繼續。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!