二維碼 購物車
部落窩在線教育歡迎您!

函數(shù)組合思維,你有嗎?

 

作者:老菜鳥來源:部落窩教育發(fā)布時間:2020-11-20 18:28:29點擊:5991

分享到:
0
收藏    收藏人氣:0人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:很多使用函數(shù)的同學(xué)都會遇到一個問題,單個的函數(shù)都明白,但不會組合起來使用。這個問題反應(yīng)到實際工作中就是問題能看懂,但是如果用一個函數(shù)搞不定,就不會寫公式了。



其實這是每一個函數(shù)使用者都要經(jīng)歷的必然階段。要順利通過這個階段只有一個辦法——自己多練、多想,掌握解決思路。

 

今天,我們不講復(fù)雜的問題,只用一個簡單的問題來學(xué)習(xí)如何尋找解題思路并用函數(shù)組合公式完成任務(wù)。

 

問題如圖:怎樣統(tǒng)計A列中每個單元格內(nèi)的數(shù)字個數(shù)?

 

 

這個問題的解決思路大致可分成兩個階段:

第一階段是拆分字符,把原始數(shù)據(jù)都拆分成單個的字符。會用到一個使用頻率非常高的組合套路——MID-ROW組合。

第二階段就是甄別是否是數(shù)字并統(tǒng)計數(shù)字的個數(shù)。這個階段可以發(fā)揮的空間就多了,會有不同的思路出現(xiàn),形成不同的公式。

 

·         第一階段:拆分字符

 

公式=MID(A2,1,1),會得到從A2單元格中的第一個字符“E”位置依次向右數(shù)后提取的第一個字符,即“E”。

 

假如要得到單元格的第二個字符,只需要將公式中的第二參數(shù)1改成2即可,以此類推,調(diào)整MID的第二參數(shù)就可以將單元格的字符一個一個提取出來。

 

如果需要將結(jié)果分開在多個單元格中,使用公式=MID($A$2,ROW(A1),1)下拉,就可以實現(xiàn)這個結(jié)果。

 

 

如果不需要將結(jié)果分開在多個單元格中,就需要用到數(shù)組。例如公式=MID(A2,{1,2,3,4,5},1),這時雖然結(jié)果看起來只有一個字母:



 

實際上我們選中公式后按F9鍵,就可以看到這樣的公式結(jié)果={"E","X","C","E","L"}。

 

 

如果將公式改成=MID(A2,{1,2,3},1),按F9只能看到三個字母,由此可知,假如單元格里有10個字,要分別提取出來的話,MID的第二參數(shù)就會比較長了。



如果字?jǐn)?shù)更多的話,還用常量數(shù)組就不現(xiàn)實了,因此常常用ROW來取代MID中的常量數(shù)組。



=MID(A2,{1,2,3,4,5},1)可以用=MID(A2,ROW(1:5),1)代替。在一些公式中常見的ROW(1:99),其實就相當(dāng)于{1,2,……,98,99}了。



在上面的模擬數(shù)據(jù)中,最長的內(nèi)容也不到10個字,因此使用=MID(A2,ROW(1:9),1)就能解決問題。



這是解題的第一階段,拆分字符。

 

·         第二階段:判斷并統(tǒng)計數(shù)字的個數(shù)



怎么統(tǒng)計拆分后的字符里有幾個是數(shù)字?



有一點必須要強(qiáng)調(diào)一下,MID得到的結(jié)果都是文本,即便看上去是數(shù)字,也是文本型的數(shù)字,必須經(jīng)過數(shù)字計算或者函數(shù)才能轉(zhuǎn)換為數(shù)值型的數(shù)字。

 

 第一種思路

比如將公式MID(A2,ROW($1:$9),1)進(jìn)行加減乘除或者負(fù)運算,就能將拆分后的數(shù)據(jù)進(jìn)行數(shù)值化。

 

 

表面看上去是一些錯誤值和數(shù)字,實際上每個單元格里都是一組結(jié)果,以第三行來說,用F9查看到的結(jié)果是這樣的。

 

結(jié)果中有三個數(shù)字,其他無法數(shù)值化的都變成了錯誤值。

 

MID后面的*1還可以換成/1,+0,-0等,也可以在MID前面加一個負(fù)號,如果還要保持?jǐn)?shù)值不變的話,就得加兩個負(fù)號,也就是很多新手都比較迷糊的“--”的由來,俗稱負(fù)負(fù)得正。



明白了這些道理,最后的結(jié)果就很容易理解,統(tǒng)計一組數(shù)據(jù)中有幾個數(shù)字,正是COUNT的分內(nèi)事,于是第一個公式來了:=COUNT(MID(A2,ROW($1:$9),1)*1)。

 

由于ROW這部分是一個數(shù)組,所以公式要按Ctrl、shift和回車完成輸入

這個公式可以延伸出一類公式,區(qū)別就在于對MID結(jié)果的數(shù)值化,使用不同的計算方法,公式就不一樣。

 

  第二種思路

用函數(shù)來將數(shù)據(jù)進(jìn)行數(shù)值化,公式為=COUNT(VALUE(MID(A2,ROW($1:$9),1)))。

 

VALUE函數(shù)的作用就是將文本型的數(shù)字?jǐn)?shù)值化,不多解釋了。

 

  第三種思路



使用了SUM函數(shù)實現(xiàn)計數(shù)的效果。



這種思路就需要多一個環(huán)節(jié),要把數(shù)值化后的結(jié)果多做一個判斷。ISNUMBER(-MID(A2,ROW($1:$9),1)),使用ISNUMBER函數(shù)判斷MID的結(jié)果是否為數(shù)字,得到的結(jié)果是一個邏輯值,再利用計數(shù)把邏輯值數(shù)字化,TRUE變成1,FALSE變成0,最后用SUM求和得到最終的結(jié)果,完整的公式為:



=SUM(--ISNUMBER(-MID(A2,ROW($1:$9),1)))

 

 

由此可見,要想靈活使用函數(shù)組合去解決問題,不但要理解單獨函數(shù)的意義,還需要有解決問題的思路。有了思路,自然就可以將函數(shù)進(jìn)行組合使用。

 



 

本文配套的練習(xí)課件請加入QQ群:902294808下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號,可隨時隨地學(xué)習(xí)Excel



 

相關(guān)推薦:

Excel提取技巧:從包含文字的單元格中提取所有數(shù)字的萬能公式

函數(shù)小白:函數(shù)小白的福利來了,不會函數(shù)也能匯總數(shù)據(jù)

Excel教程:如果函數(shù)有職業(yè),TEXT絕對是變裝女皇!

《10天學(xué)會Excel》課程10天學(xué)會Excel高效辦公

版權(quán)申明:

文本作者老菜鳥;同時部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。