數據分析常用的Excel函數


Excel是我們工作中經常使用的一種工具,對於數據分析來說,這也是處理數據最基礎的工具。

本文對數據分析需要用到的函數做了分類,並且有詳細的例子說明,文章已做了書簽處理,點擊可跳轉至相應位置。

函數分類:

 

一、關聯匹配類

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

包含函數:VLOOKUPHLOOKUPINDEXMATCHRANKRowColumnOffset

 

1、VLOOKUP

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

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

(1) 單表查找

 

 把選手Tian的戰隊找到之后,接下來把鼠標放到G8單元格右下角位置,出現十字符號后往下拉,Excel會根據單元格的變化自動填充G9和G10單元格的公式。

 

(2) 跨多工作表查找

假設我有一個工資表格文件,里面每個部門有一張表,有4個部門對應的部門工資表和一個需要查詢工資的查詢表,為方便說明這里的姓名取方便識別的編號,你也可以用真正的姓名。

 

 在查詢表中,要求根據提供的姓名,從銷售~人事4個工作表中查詢該員工的基本工資。

 

如果,我們知道A1是銷售部的,那么公式可以寫為:=VLOOKUP(A2,銷售!A:C,3,0)

如果,我們知道A1可能在銷售或財務表這2個表中,公式可以寫為:=IFERROR(VLOOKUP(A2,銷售!A:C,3,0),VLOOKUP(A2,財務!A:C,3,0))

意思是,如果在銷售表中查找不到(用IFERROR函數判斷),則去財務表中再查找。

如果,我們知道A1可能在銷售、財務或服務表中,公式可以再次改為:=IFERROR(VLOOKUP(A2,銷售!A:C,3,0),IFERROR(VLOOKUP(A2,財務!A:C,3,0),VLOOKUP(A2,服務!A:C,3,0)))

如果,有更多的表,如本例中4個表,那就一層層的套用下去,如果4個表都查不到就設置為"無此人信息":=IFERROR(VLOOKUP(A2,銷售!A:C,3,0),IFERROR(VLOOKUP(A2,財務!A:C,3,0),IFERROR(VLOOKUP(A2,服務!A:C,3,0),IFERROR(VLOOKUP(A2,人事!A:C,3,0),"無此人信息"))))

 

 

2、HLOOKUP

當查找的值位於查找范圍的首行,並且返回的值在查找范圍的第幾行,可以使用 hlookup 函數

語法:=HLOOKUP(要查找的值,查找的范圍,返回的值在查找范圍的第幾行,精確匹配(0)或近似匹配(1) )。

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

 

 

3、INDEX

 在Excel中,除了VLOOKUP函數常用來查找引用外,INDEX函數和MATCH函數組合也可用來做查找引用工作,這組函數有效彌補了VLOOKUP函數查找目標不在查找范圍數據首列的缺陷。

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

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

 

 

4、MATCH

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

語法:= MATCH (要查找的值,查找的區域,查找方式),查找方式0為等於查找值,1為小於查找值,-1為大於查找值

 

5、RANK

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

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

 

 

 

6、Row

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

語法:ROW()或ROW(某個單元格)

 

 

7、Column

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

語法:COLUMN()或COLUMN(某個單元格)

 

 

8、Offset

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

語法:=Offset(指定點,偏移多少行(正數向下,負數向上),偏移多少列(正數向右,負數向左),返回多少行,返回多少列)

 

 

 

二、清洗處理類

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

 

9、Trim

功能:主要用於把單元格內容前后的空格去掉,但並不去除字符之間的空格,如果是想要去掉所有的空格,需要用substitute函數。。

語法:=TRIM(單元格)

 

10、concatenate

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

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

 

11、Left

功能:從左截取字符串

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

 

12、Right

功能:從右截取字符串

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

 

 

13、Mid

功能:從中間截取字符串

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

 

 

Text函數表示將數值轉化為自己想要的文本格式,語法=TEXT(value,format_text)

 

14、Replace

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

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

 

 

15、Substitute

和replace接近,不同在於Replace根據位置實現替換,需要提供從第幾位開始替換,替換幾位,替換后的新的文本;

而Substitute根據文本內容替換,需要提供替換的舊文本和新文本,以及替換第幾個舊文本等。因此Replace實現固定位置的文本替換,Substitute實現固定文本替換。

 

 

 

 

 

16、Find

功能:查找文本位置

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

 

 

 

17、Search

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

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

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

 

 

 

18、Len

功能:返回字符串的字符數

語法:=LEN(字符串)

字符串是指包含數字、字母、符號等的一串字符。

 

 

 

 

19、Lenb

功能:返回字符串的字節數。

區別在於,len是按字符數計算的,lenb是按字節數計算的。數字、字母、英文、標點符號(半角狀態下輸入的哦)都是按1計算的,漢字、全角狀態下的標點符號,每個字符按2計算。

 

 

 

綜合應用

 

篩選內容:IF+OR+COUNTIF

=IF(OR(COUNTIF(A1,"*"&{"Python","java"}&"*")),A1,"0")

如果含有字段Python或java中的任何一個則為本身,否則為"0",* 代表任意內容,之后就可以通過Excel的篩選功能,把B列的"0"篩選掉。

 

 

 VALUE

功能:將所選區域轉為數值類型

 TEXT

功能:將所選區域轉為文本類型

 

 

 

三、邏輯運算類

  IF     AND       OR

 

20、IF

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

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

 

 

21、AND

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

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

 

 

 

22、OR

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

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

 

 

 

四、計算統計類

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

  • MIN函數:找到某區域中的最小值

  • MAX函數:找到某區域中的最大值

  • AVERAGE函數:計算某區域中的平均值

  • COUNT函數: 計算某區域中包含數字的單元格的數目

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

  • COUNTIFS函數:統計一組給定條件所指定的單元格數

  • SUM函數:計算單元格區域中所有數值的和

  • SUMIF函數:對滿足條件的單元格求和

  • SUMPRODUCT函數:返回相應的數組或區域乘積的和

  • STDEV函數:求標准差
  • SUBTOTAL函數:匯總型函數,將平均值、計數、最大最小、相乘、標准差、求和、方差等參數化
  • INT/ROUND函數:取整函數,int向下取整,round按小數位取數。
  • MOD函數:取余。 

23、MIN

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

 

 

24、MAX

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

 

 

25、AVERAGE

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

 

 

26、COUNT

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

 

 

27、COUNTIF

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

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

 

 

28、COUNTIFS

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

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

 

 

29、SUM

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

 

 

30、SUMIF

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

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

 

31、SUMPRODUCT

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

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

 

 

 

32、Stdev

統計型函數,求標准差,衡量離散程度。

 

 

 

33、Subtotal

語法:=Subtotal(參數,區域)

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

為 1 到 11(包含隱藏值)或 101 到 111(忽略隱藏值)之間的數字,指定使用何種函數在列表中進行分類匯總計算。

1 AVERAGE(算術平均值)
2 COUNT(數值個數)
3 COUNTA(非空單元格數量)
4 MAX(最大值)
5 MIN(最小值)
6 PRODUCT(括號內所有數據的乘積)
7 STDEV(估算樣本的標准偏差)
8 STDEVP(返回整個樣本總體的標准偏差)
9 SUM(求和)
10 VAR(計算基於給定樣本的方差)
11 VARP(計算基於整個樣本總體的方差)

 

 

34、Int/Round

取整函數,int取整(去掉小數),round按小數位取數(四舍五入)。

語法:ROUND(數值, 位數)

round(3.1415,2)=3.14 ;

round(3.1415,1)=3.1

 

 

 

MOD

 

 

 

 

五、時間序列類

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

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

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

  • YEAR函數:返回日期的年份。
  • MONTH函數:返回日期的月份。
  • DAY函數:返回以序列數表示的某日期的天數。
  • WEEKDAY函數:返回對應於某個日期的一周中的第幾天。
  • Datedif函數:計算兩個日期之間相隔的天數、月數或年數。

 

35、TODAY

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

 語法:=TODAY(),如不顯示應該是單元格格式問題,單元格格式應是常規或日期型

 

 

 

36、NOW

功能:返回當前的日期和時間,動態函數。

 語法:=NOW()

 

 

 

37、YEAR

功能:返回日期的年份。

語法:=YEAR(日期)

 

 

 

38、MONTH

功能:返回日期的月份。

語法:=MONTH(日期)

 

 

 

39、DAY

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

語法:=DAY(日期)

 

 

 

40、WEEKDAY

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

語法:=Weekday(指定時間,參數),參數設為2,則星期一為1,星期日為7

 

 

41、Datedif

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

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

參數3:為所需信息的返回時間單位代碼。各代碼含義如下:

"y"返回時間段中的整年數

"m”返回時間段中的整月數

"d"返回時間段中的天數

"md”參數1和2的天數之差,忽略年和月

"ym“參數1和2的月數之差,忽略年和日

"yd”參數1和2的天數之差,忽略年。按照月、日計算天數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM