數據分析必備的43個Excel函數,史上最全!

數據分析不是個事兒


Excel是我們工作中經常使用的一種工具,對於數據分析來說,這也是處理數據最基礎的工具。很多傳統行業的數據分析師甚至只要掌握Excel和SQL即可。

對於初學者,有的時候並不需要急於苦學R語言等專業工具(當然會也是加分項),因為Excel涵蓋的功能足夠多,也有很多統計、分析、可視化的插件。只不過我們平時處理數據的時候很多函數都不知道怎麼用。

關於Excel的進階學習,主要分為兩塊:一個是數據分析常用的Excel函數,另一個分享用Excel做一個簡單完整的分析。

這篇文章主要介紹數據分析常用的43個Excel函數及用途,實戰分析將在下一篇講解。

關於函數:

Excel的函數實際上就是一些複雜的計算公式,函數把複雜的計算步驟交由程序處理,只要按照函數格式錄入相關參數,就可以得出結果。如求一個區域的和,可以直接用SUM(A1:C100)的形式。

所以對於函數,不用刻意記刻意背,只要知道比如“選取字段,用Left/Right/Mid”函數,並且需要哪些參數怎麼用就行了,複雜的就交給萬能的百度吧。

函數分類:

  • 關聯匹配類
  • 清洗處理類
  • 邏輯運算類
  • 計算統計類
  • 時間序列類

一、關聯匹配類

經常性的,需要的數據不在同一個excel表或同一個excel表不同sheet中,數據太多,copy麻煩也不準確,如何整合呢?這類函數就是用於多表關聯或者行列比對時的場景,而且表越複雜,用得越多。

函數HLOOKUP和VLOOKUP都是用來在表格中查找數據。

1、VLOOKUP

功能:用於查找首列滿足條件的元素。

語法:=VLOOKUP(要查找的值,要在其中查找值的區域,區域中包含返回值的列號,精確匹配或近似匹配 – 指定為 0/FALSE 或 1/TRUE)。

舉例:查詢F5單元格中的員工姓名是什麼職務

2、HLOOKUP

功能:搜索表的頂行或值的數組中的值,並在表格或數組中指定的行的同一列中返回一個值。

語法:=VLOOKUP(要查找的值,要在其中查找值的區域,區域中包含返回值的行號,精確匹配或近似匹配 – 指定為 0/FALSE 或 1/TRUE)。

區別:HLOOKUP返回的值與需要查找的值在同一列上,而VLOOKUP返回的值與需要查找的值在同一行上。

3、INDEX

功能:返回表格或區域中的值或引用該值。

語法:= INDEX(要返回值的單元格區域或數組,所在行,所在列)

4、MATCH

功能:用於返回指定內容在指定區域(某行或者某列)的位置。

語法:= MATCH (要返回值的單元格區域或數組,查找的區域,查找方式)

5、RANK

功能:求某一個數值在某一區域內一組數值中的排名。

語法:=RANK(參與排名的數值, 排名的數值區域, 排名方式-0是降序-1是升序-默認為0)。

6、Row

功能:返回單元格所在的行

7、Column

功能:返回單元格所在的列

8、Offset

功能:從指定的基準位置按行列偏移量返回指定的引用

語法:=Offset(指定點,偏移多少行,偏移多少列,返回多少行,返回多少列)

二、清洗處理類

數據處理之前,需要對提取的數據進行初步清洗,如清除字符串空格,合併單元格、替換、截取字符串、查找字符串出現的位置等。

  • 清除字符串空格:使用Trim/Ltrim/Rtrim
  • 合併單元格:使用concatenate
  • 截取字符串:使用Left/Right/Mid
  • 替換單元格中內容:Replace/Substitute
  • 查找文本在單元格中的位置:Find/Search

9、Trim

功能:清除掉字符串兩邊的空格

10、Ltrim

功能:清除單元格右邊的空格

11、Rtrim

功能:清除單元格左邊的空格

12、concatenate

語法:=Concatenate(單元格1,單元格2……)

合併單元格中的內容,還有另一種合併方式是&,需要合併的內容過多時,concatenate效率更快。

13、Left

功能:從左截取字符串

語法:=Left(值所在單元格,截取長度)

14、Right

功能:從右截取字符串

語法:= Right (值所在單元格,截取長度)

15、Mid

功能:從中間截取字符串

語法:= Mid(指定字符串,開始位置,截取長度)

舉例:根據身份證號碼提取年月

16、Replace

功能:替換掉單元格的字符串

語法:=Replace(指定字符串,哪個位置開始替換,替換幾個字符,替換成什麼)

17、Substitute

和replace接近,不同在於Replace根據位置實現替換,需要提供從第幾位開始替換,替換幾位,替換後的新的文本;而Substitute根據文本內容替換,需要提供替換的舊文本和新文本,以及替換第幾個舊文本等。因此Replace實現固定位置的文本替換,Substitute實現固定文本替換。

舉例:替換部分電話號碼

18、Find

功能:查找文本位置

語法:=Find(要查找字符,指定字符串,第幾個字符)

19、Search

功能:返回一個指定字符或文本字符串在字符串中第一次出現的位置 ,從左到右查找

語法:=search(要查找的字符,字符所在的文本,從第幾個字符開始查找)

Find和Search這兩個函數功能幾乎相同,實現查找字符所在的位置,區別在於Find函數精確查找,區分大小寫;Search函數模糊查找,不區分大小寫。

20、Len

功能:文本字符串的字符個數

21、Lenb

功能:返回文本中所包含的字符數

三、邏輯運算類

22、IF

功能:使用邏輯函數 IF 函數時,如果條件為真,該函數將返回一個值;如果條件為假,函數將返回另一個值。

語法:=IF(條件, true時返回值, false返回值)

23、AND

功能:邏輯判斷,相當於“並”。

語法:全部參數為True,則返回True,經常用於多條件判斷。

24、OR

功能:邏輯判斷,相當於“或”。

語法:只要參數有一個True,則返回Ture,經常用於多條件判斷。

四、計算統計類

在利用excel表格統計數據時,常常需要使用各種excel自帶的公式,也是最常使用的一類。重要性不言而喻。不過excel都自帶快捷功能。

  • MIN函數:找到某區域中的最小值
  • MAX函數:找到某區域中的最大值
  • AVERAGE函數:計算某區域中的平均值
  • COUNT函數: 計算某區域中包含數字的單元格的數目
  • COUNTIF函數:計算某個區域中滿足給定條件的單元格數目
  • COUNTIFS函數:統計一組給定條件所指定的單元格數
  • SUM函數:計算單元格區域中所有數值的和
  • SUMIF函數:對滿足條件的單元格求和
  • SUMIFS函數:對一組滿足條件指定的單元格求和
  • SUMPRODUCT函數:返回相應的數組或區域乘積的和

25、MIN

功能:找到某區域中的最小值

26、MAX函數

功能:找到某區域中的最大值

27、AVERAGE

功能:計算某區域中的平均值

28、COUNT

功能:計算含有數字的單元格的個數。

29、COUNTIF

功能:計算某個區域中滿足給定條件的單元格數目

語法:=COUNTIF(單元格1: 單元格2 ,條件)

比如=COUNTIF(Table1!A1:Table1!C100, “YES” ) 計算Table1中A1到C100區域單元格中值為”YES”的單元格個數

舉例:統計制定店鋪的業務筆數

30、COUNTIFS

功能:統計一組給定條件所指定的單元格數

語法:=COUNTIFS(第一個條件區域,第一個對應的條件,第二個條件區域,第二個對應的條件,第N個條件區域,第N個對應的條件)

比如:=COUNTIFS(Table1!A1: Table1!A100, “YES”,Table1!C1: Table1!C100, “NO” ) 計算Table1中A1到A100區域單元格中值為”YES”,而且同時C區域值為”NO”的單元格個數

31、SUM

計算單元格區域中所有數值的和

32、SUMIF

功能:求滿足條件的單元格和

語法:=SUMIF(單元格1: 單元格2 ,條件,單元格3: 單元格4)

舉例:計算一班的總成績

32、SUMIFS

功能:對一組滿足條件指定的單元格求和

語法:=SUMIFS(實際求和區域,第一個條件區域,第一個對應的求和條件,第二個條件區域,第二個對應的求和條件,第N個條件區域,第N個對應的求和條件)

比如=SUMIFS(Table1!C1:Table1!C100,Table1!A1: Table1!A100, “YES” ,Table1!B1:Table1B100, “NO” ) 計算Table1中C1到C100區域,同時相應行A列值為”YES”,而且對應B列值為”NO”的單元格的和。

33、SUMPRODUCT

功能:返回相應的數組或區域乘積的和

語法: =SUMPRODUCT(單元格1: 單元格2 ,單元格3: 單元格4)

比如:=SUMPRODUCT(Table1!A1:Table1!A100, Table2!B1Table2!B100) 計算表格1的A1到A100與表格2的B1到B100的乘積和,即A1*B1+A2*B2+A3*B3+…

34、Stdev

統計型函數,求標準差。

35、Substotal

語法:=Substotal(引用區域,參數)

彙總型函數,將平均值、計數、最大最小、相乘、標準差、求和、方差等參數化,換言之,只要會了這個函數,上面的都可以拋棄掉了。

36、Int/Round

取整函數,int向下取整,round按小數位取數。

round(3.1415,2)=3.14 ;

round(3.1415,1)=3.1

五、時間序列類

專門用於處理時間格式以及轉換。

37、TODAY

返回今天的日期,動態函數。

38、NOW

返回當前的時間,動態函數。

39、YEAR

功能:返回日期的年份。

40、MONTH

功能:返回日期的月份。

41、DAY

功能:返回以序列數表示的某日期的天數。

42、WEEKDAY

功能:返回對應於某個日期的一週中的第幾天。 默認情況下,天數是 1(星期日)到 7(星期六)範圍內的整數。

語法:=Weekday(指定時間,參數)

43、Datedif

功能:計算兩個日期之間相隔的天數、月數或年數。

語法:=Datedif(開始日期,結束日期,參數)


分享到:


相關文章: