靈活實(shí)用的Excel文本提取函數(shù):Mid

我們學(xué)習(xí)Excel函數(shù) 涧卵,重在理清函數(shù)使用的思路而不是函數(shù)本身的各種高級用法勤家。只要解決問題的思路理清了,函數(shù)才會發(fā)揮它無窮的魅力柳恐,任意一個函數(shù)都能讓你解決非常多的問題伐脖。函數(shù)的掌握在精而不在多,就是這個道理乐设。我今天分享的這個函數(shù):Mid讼庇。算是基礎(chǔ)的文本函數(shù),但只要學(xué)精了近尚,思路開闊了蠕啄,照樣能解決非常不同尋常的問題。

文:傲看今朝

一戈锻、Mid函數(shù)是什么玩意兒歼跟?

Mid函數(shù)是Excel最常用的3個基礎(chǔ)字符串提取函數(shù)之一,其他兩個為left和right格遭。相比其他兩個函數(shù)哈街,此函數(shù)的經(jīng)典案例更多,使用起來也更加靈活拒迅,在工作中的使用也更為廣泛骚秦。Mid函數(shù)主要用于提取文本字符串中的任意字符,它主要有3個參數(shù):text(待提取的文本字符串),start_num(起始位置),num_chars(要提取多少個字符)璧微。

參數(shù)說明

例如我們在B4中輸入公式:=mid(A4,2,3),得到的將是A4單元格中字符串的后三個字:看今朝作箍。

分別提取A4:A5每個單元格的中間三個字符串

二、Mid函數(shù)最常見的一個經(jīng)典應(yīng)用案例

我們?nèi)肆Y源部的朋友經(jīng)常都需要從身份證號中提取出人員的出生日期以及性別等信息前硫,如下圖所示:

這該如何提取呢蒙揣?

關(guān)于身份證:身份證的第7位到第14位(15位身份證號為12位)是一個人的出生日期信息,第17位(15位身份證為15位)為一個人的性別信息(奇數(shù)為男开瞭,偶數(shù)為女)懒震。要得到一個人的出生日期和性別信息,我們只需要分別從身份證號中提取這些信息然后進(jìn)行一定處理就可以完成了嗤详。

1.通過身份證判斷一個人的性別

思路:(1)首先利用mid函數(shù)提取性別識別碼个扰,18位身份證號使用公式:=mid(B2,17,1);15位身份證號使用公式:=mid(B2,15,1)。我們希望不管身份證號碼是15位還是18位葱色,都能用一條公式搞定递宅,怎么做呢?我們通過判斷提取到的識別碼是奇數(shù)還是偶數(shù)來判斷是男還是女的?而決定一個數(shù)字是奇數(shù)還是偶數(shù)取決于其個位是奇數(shù)還是偶數(shù)办龄,也就是個位是奇數(shù)烘绽,那么這個數(shù)字就是奇數(shù),如果個位是偶數(shù)俐填,那么這個數(shù)字就是偶數(shù)安接。這樣說來我們完全可以輸入這樣一條公式:

=mid(b2,15,3)

如果身份證號碼是15位,提取到的數(shù)字就身份證最末尾的一個數(shù)字英融;如果身份證號碼是18位盏檐,提取到的數(shù)字則是身份證號碼第15位到17位,17位數(shù)字決定提取到的數(shù)字是奇數(shù)還是偶數(shù)驶悟。因此得到上述的公式胡野;

(2)判斷上一步提取到的數(shù)字是奇數(shù)還是偶數(shù)

這一步非常簡單,我們只需要對上一步提取到的數(shù)字判斷一下奇偶就可以了痕鳍。輸入以下公式:

=mod(mid(B2,15,3),2)

mod函數(shù)的結(jié)果為1硫豆,則是奇數(shù);結(jié)果為0笼呆,則是偶數(shù)熊响。(關(guān)于mod的使用,以后我會介紹抄邀,大家不懂的可以百度一下)

(3)利用if函數(shù)返回性別耘眨。

if函數(shù)主要有三個參數(shù)昼榛,表達(dá)式(如果……)境肾,條件為真時返回什么結(jié)果,條件為假時返回什么結(jié)果胆屿。具體寫法如下:

=if(表達(dá)式,成立時的結(jié)果,不成立時的結(jié)果)

回到咱們的正題奥喻,輸入公式:=if(mod(mid(B2,15,3),2)=1,"男","女")。如果=mod(mid(B2,15,3),2)返回的結(jié)果為1(表達(dá)式成立非迹,數(shù)字為奇數(shù)),則返回結(jié)果“男”,否則(表達(dá)式不成立)返回結(jié)果“女”。其中“=1”可以不寫桐猬。

效果圖

最終公式:

=if(mod(mid(B2,15,3),2),"男","女")

2.通過身份證提取一個人的出生日期

思路:

(1)提取出生日期挠说,18位身份證直接輸入公式:=mid(B2,7,8);15位身份證時輸入公式:=mid(B2,7,6),一條公式解決的話,該怎么辦呢纯命?不管我們是18位還是15位西剥,都至少有6位日期,如果是18位呢亿汞,則加2位瞭空,因此我們得到如下的公式:

=mid(b2,7,6+(len(b2)=18)*2)

(2)將提取出來的“日期”轉(zhuǎn)化為真正的日期

mid函數(shù)得到的結(jié)果將會是文本字符串,而不是真正的日期,因此我們需要利用text函數(shù)將提取日期文本轉(zhuǎn)化為真正的日期咆畏。首先在mid函數(shù)前加2個負(fù)號南捂,轉(zhuǎn)換為數(shù)字:=--mid(b2,7,6+(len(b2)=18)*2),然后利用text函數(shù)改變一下格式:=text(--mid(b2,7,6+(len(b2)=18)*2,"0-00-00"),最后由于text函數(shù)返回的結(jié)果依然是文本,因此我們需要再在前面公式加2個負(fù)號得到正確的日期:

=--TEXT(--MID(B2,7,6+(LEN(B2)=18)*2),"0-00-00")

如果你得到的結(jié)果是數(shù)字旧找,那么你需要將單元格的格式設(shè)置為日期就可以了溺健。

最終效果圖

三、靈活運(yùn)用mid函數(shù)的案例

如下圖所示钦讳,如何快速完成下面的表格呢矿瘦?

1.如何快速評定出語文成績的等級(評價標(biāo)準(zhǔn)為右側(cè)的表格)?

評定等級

對于此問題愿卒,我相信很多人的第一反應(yīng)就是用if函數(shù)或者vlookup函數(shù)(不管初級還是中級用戶)缚去,那么這兩個函數(shù)是咱們的最優(yōu)選擇嗎?使用if函數(shù)琼开,公式會很長易结;而利用vlookup函數(shù),則需要構(gòu)建右側(cè)的表格柜候。if函數(shù)的公式如下:

=IF(B2<60,"差",IF(B2<80,"中",IF(B2<90,"良","優(yōu)")))

使用vlookup函數(shù)則需要構(gòu)建表格搞动,這里我就不多說了。

下面我們來看利用mid函數(shù)來做是多么的靈活:

=MID("差差差差差中中良優(yōu)優(yōu)",B2/10,1)

思路:構(gòu)建文本字符串:"差差差差差中中良優(yōu)優(yōu)",此文本字符串共計(jì)10個字符渣刷,因?yàn)槌煽兊姆秶?-100,將10分劃為一個段的則有10段鹦肿,當(dāng)分?jǐn)?shù)為1-59分?jǐn)?shù),劃段后則會落入1段到5段之間辅柴,返回值為“差”……因此我們得到如上的公式箩溃。

劃段

2.兩科成績均大于等于90分以上,我們判斷此人為優(yōu)秀碌嘀,我們?nèi)绾慰焖俚氐玫浇Y(jié)果呢涣旨?

針對這個問題,方法有很多種股冗,跟前面一樣霹陡,很多朋友又有使用if函數(shù)的沖動了。但這個問題止状,利用mid函數(shù)來解決同樣簡單烹棉,公式也不會長。那么如何利用mid函數(shù)來進(jìn)行判斷呢怯疤?

思路:

(1)確定要提取的文本字符串浆洗,文本字符串當(dāng)然是“優(yōu)秀”,要么不提取旅薄,要么就兩個字一起提取辅髓。因此mid函數(shù)第一參數(shù)為"優(yōu)秀"

(2)什么時候提取泣崩,什么不提取呢?兩科成績均大于等于90分洛口,先寫出來:B2>=90,C2>=90,我們可以使用邏輯函數(shù)and,兩個以上的條件均滿足時才會得到結(jié)果“TRUE”矫付,提取兩個字符串,否返回為“FALSE”第焰,不提取字符串买优;或者將兩個條件相乘,結(jié)果為1時挺举,提取2個字符杀赢,否則不提取。

=and(B2>=90,C2>=90)*2

=2*(B2>=90)*(C2>=90)

(3)從第一個字符開始提取湘纵,因此最終公式為:

=MID("優(yōu)秀",1,AND(B2>=90,C2>=90)*2)

最終效果圖:

最終結(jié)果

關(guān)于Mid函數(shù)實(shí)戰(zhàn)應(yīng)用技巧脂崔,我就介紹到這里。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梧喷,一起剝皮案震驚了整個濱河市砌左,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铺敌,老刑警劉巖汇歹,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異偿凭,居然都是意外死亡产弹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門弯囊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痰哨,“玉大人,你說我怎么就攤上這事常挚∽魈罚” “怎么了稽物?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵奄毡,是天一觀的道長。 經(jīng)常有香客問我贝或,道長吼过,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任咪奖,我火速辦了婚禮盗忱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘羊赵。我一直安慰自己趟佃,他們只是感情好扇谣,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闲昭,像睡著了一般罐寨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上序矩,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天鸯绿,我揣著相機(jī)與錄音,去河邊找鬼簸淀。 笑死瓶蝴,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的租幕。 我是一名探鬼主播舷手,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼劲绪!你這毒婦竟也來了聚霜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤珠叔,失蹤者是張志新(化名)和其女友劉穎蝎宇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祷安,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡姥芥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了汇鞭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凉唐。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖霍骄,靈堂內(nèi)的尸體忽然破棺而出台囱,到底是詐尸還是另有隱情,我是刑警寧澤读整,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布簿训,位于F島的核電站,受9級特大地震影響米间,放射性物質(zhì)發(fā)生泄漏强品。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一屈糊、第九天 我趴在偏房一處隱蔽的房頂上張望的榛。 院中可真熱鬧,春花似錦逻锐、人聲如沸夫晌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晓淀。三九已至蹦哼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間要糊,已是汗流浹背纲熏。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锄俄,地道東北人局劲。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像奶赠,于是被迫代替她去往敵國和親鱼填。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容