送人玫瑰,手有余香,請將文章分享給更多朋友
動手操作是熟練掌握EXCEL的最快捷途徑!
【置頂公眾號】或者【設(shè)為星標(biāo)】及時接收更新不迷路
小伙伴們好,今天要和大家分享一道關(guān)于數(shù)字提取的問題。今天要和大家分享的三種解題思路,對于我們今后處理相同類型題目時有很高的指導(dǎo)意義。
題目是這樣子的。要求非常簡單。
從左側(cè)的源數(shù)據(jù)中將連續(xù)的5位數(shù)字提取出來。朋友們有什么好辦法嗎?
既然是提取一個5位數(shù),那么我們就直接在源數(shù)據(jù)中查找5位數(shù)。查找到后就能夠提取出來。
在單元格B2中輸入公式“=MIN(IF(ISNUMBER(FIND(ROW($10000:$99999),A2)),ROW($10000:$99999)))”,三鍵回車并向下拖曳即可。
思路:
FIND(ROW($10000:$99999),A2)部分,在源數(shù)據(jù)中查找所有的5位數(shù),看看哪些可以查找到
ISNUMBER(FIND(ROW($10000:$99999),A2))部分,對于查找不到的數(shù)字,利用ISNUMBER函數(shù)將它們轉(zhuǎn)變FALSE
利用IF函數(shù)來返回那些查找到的5位數(shù)字
最用套用一個MIN函數(shù),返回正確結(jié)果
這個公式的最大亮點在于,拋開數(shù)字提取的思路,直接查找題目要求的5位數(shù)。這個是本題的最大亮點。
正常情況下,我們會考慮用常規(guī)的方法來解這道題目。
在單元格B2中輸入公式“=LOOKUP(9^9,--MID(A2&"s",ROW($1:$50),5))”并向下拖曳即可。
思路:
既然是提取5位數(shù),那么我們就從源數(shù)據(jù)中的每一個字符開始,提取一個長度為5的字符串,結(jié)果是一個數(shù)字和文本組成的內(nèi)存數(shù)組
減負(fù)運算后將文本型數(shù)字轉(zhuǎn)為數(shù)字型數(shù)字,將文本轉(zhuǎn)換為錯誤值
利用LOOKUP函數(shù)提取正確答案
在這里源數(shù)據(jù)后面要加上一個“s”(或者任意一個文本)的目的是,源數(shù)據(jù)中字符串最后是數(shù)字時,將會提取出來若干長度小于5的數(shù)字。加上一個“s”將提取出來的長度小于5的數(shù)字都轉(zhuǎn)換為文本
最后,在給大家一個小彩蛋。在以前的帖子中我也曾經(jīng)做過介紹,利用VLOOKUP函數(shù)也能夠完成這道題目。
在單元格B2中輸入公式“=VLOOKUP(,MID(SUBSTITUTE(A2," ",""),ROW($1:$50),5)*{0,1},2,FALSE)”,三鍵回車并向下拖曳。
思路:
總體上講,MID函數(shù)從每一個字符依次提取長度為5的字符串后,再分別乘以{0,1},形成一個兩列的內(nèi)存數(shù)組。若提取出來的5個字符恰好是五位數(shù)時,內(nèi)存數(shù)組中第一列則返回0,第二列在返回該5位數(shù)字;其余非數(shù)字部分則返回錯誤值。利用VLOOKUP函數(shù)查找并返回正確答案。
要注意,在解題時要將源數(shù)據(jù)中的空格替換掉。朋友們你們知道這是為什么呢?歡迎給我私信留言!
-END-
長按下方二維碼關(guān)注EXCEL應(yīng)用之家
面對EXCEL操作問題時不再迷茫無助
我就知道你“在看”
聯(lián)系客服