Excel是我們工作中經常使用的一種工具,對于數(shù)據分析來說,這也是處理數(shù)據最基礎的工具。本文對數(shù)據分析需要用到的函數(shù)做了分類,并且有詳細的例子說明。
Excel函數(shù)分類:關聯(lián)匹配類、清洗處理類、邏輯運算類、計算統(tǒng)計類、時間序列類
由于篇幅過長,本篇先分享關聯(lián)匹配類和清洗處理類,其余三個在明天二條繼續(xù)分享。
經常性的,需要的數(shù)據不在同一個excel表或同一個excel表不同sheet中,數(shù)據太多,copy麻煩也不準確,如何整合呢?這類函數(shù)就是用于多表關聯(lián)或者行列比對時的場景,而且表越復雜,用得越多。
包含函數(shù):VLOOKUP、HLOOKUP、INDEX、MATCH、RANK、Row、Column、Offset
1. VLOOKUP
功能:用于查找首列滿足條件的元素
語法:=VLOOKUP(要查找的值,要在其中查找值的區(qū)域,區(qū)域中包含返回值的列號,精確匹配(0)或近似匹配(1) )
(1) 單表查找
把選手Tian的戰(zhàn)隊找到之后,接下來把鼠標放到G8單元格右下角位置,出現(xiàn)十字符號后往下拉,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函數(shù)判斷),則去財務表中再查找。
如果,我們知道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 函數(shù)
語法:=HLOOKUP(要查找的值,查找的范圍,返回的值在查找范圍的第幾行,精確匹配(0)或近似匹配(1) )
區(qū)別:HLOOKUP按行查找,返回的值與需要查找的值在同一列上,VLOOKUP按列查找,返回的值與需要查找的值在同一行上。
3. INDEX
在Excel中,除了VLOOKUP函數(shù)常用來查找引用外,INDEX函數(shù)和MATCH函數(shù)組合也可用來做查找引用工作,這組函數(shù)有效彌補了VLOOKUP函數(shù)查找目標不在查找范圍數(shù)據首列的缺陷。
功能:返回表格或區(qū)域中的值
語法:= INDEX(要返回值的單元格區(qū)域或數(shù)組,所在行,所在列)
4. MATCH
功能:用于返回指定內容在指定區(qū)域(某行或者某列)的位置
語法:= MATCH (要查找的值,查找的區(qū)域,查找方式),查找方式0為等于查找值,1為小于查找值,-1為大于查找值
5. RANK
功能:求某一個數(shù)值在某一區(qū)域內的數(shù)值排名
語法:=RANK(參與排名的數(shù)值, 排名的數(shù)值區(qū)域, 排名方式-0是降序-1是升序-默認為0)。
6. Row
功能:返回單元格所在的行
語法:ROW()或ROW(某個單元格)
7. Column
功能:返回單元格所在的列
語法:COLUMN()或COLUMN(某個單元格)
8. Offset
功能:從指定的基準位置按行列偏移量返回指定的引用
語法:=Offset(指定點,偏移多少行(正數(shù)向下,負數(shù)向上),偏移多少列(正數(shù)向右,負數(shù)向左),返回多少行,返回多少列)
數(shù)據處理之前,需要對提取的數(shù)據進行初步清洗,如清除字符串空格,合并單元格、替換、截取字符串、查找字符串出現(xiàn)的位置等。
清除字符串前后空格:使用Trim
合并單元格:使用concatenate
截取字符串:使用Left/Right/Mid
替換單元格中內容:Replace/Substitute
查找文本在單元格中的位置:Find/Search
獲取字符長度:Len/Lenb
篩選包含某個條件的 內容:IF+OR+COUNTIF
轉換數(shù)據類型:VALUE/TEXT
1. Trim
功能:主要用于把單元格內容前后的空格去掉,但并不去除字符之間的空格,如果是想要去掉所有的空格,需要用substitute函數(shù)。
語法:=TRIM(單元格)
2. concatenate
語法:=Concatenate(單元格1,單元格2……)
合并單元格中的內容,還有另一種合并方式是&,需要合并的內容過多時,concatenate效率更快。
3. Left
功能:從左截取字符串
語法:=Left(值所在單元格,截取長度)
4. Right
功能:從右截取字符串
語法:= Right (值所在單元格,截取長度)
5. Mid
功能:從中間截取字符串
語法:= Mid(指定字符串,開始位置,截取長度)
Text函數(shù)表示將數(shù)值轉化為自己想要的文本格式,語法:
=TEXT(value,format_text)
6. Replace
功能:替換掉單元格的字符串
語法:=Replace(指定字符串,哪個位置開始替換,替換幾個字符,替換成什么)
7. Substitute
和replace接近,不同在于Replace根據位置實現(xiàn)替換,需要提供從第幾位開始替換,替換幾位,替換后的新的文本。
而Substitute根據文本內容替換,需要提供替換的舊文本和新文本,以及替換第幾個舊文本等。因此Replace實現(xiàn)固定位置的文本替換,Substitute實現(xiàn)固定文本替換。
8. Find
功能:查找文本位置
語法:=Find(要查找字符,指定字符串,從第幾個字符開始查起)
9. Search
功能:返回一個指定字符或文本字符串在字符串中第一次出現(xiàn)的位置,從左到右查找
語法:=search(要查找的字符,字符所在的文本,從第幾個字符開始查找)
Find和Search這兩個函數(shù)功能幾乎相同,實現(xiàn)查找字符所在的位置,區(qū)別在于Find函數(shù)精確查找,區(qū)分大小寫;Search函數(shù)模糊查找,不區(qū)分大小寫。
10. Len
功能:返回字符串的字符數(shù)
語法:=LEN(字符串)
字符串是指包含數(shù)字、字母、符號等的一串字符。
11. Lenb
功能:返回字符串的字節(jié)數(shù)
區(qū)別在于,len是按字符數(shù)計算的、lenb是按字節(jié)數(shù)計算的。數(shù)字、字母、英文、標點符號(半角狀態(tài)下輸入的哦)都是按1計算的,漢字、全角狀態(tài)下的標點符號,每個字符按2計算。
綜合應用:
篩選內容:IF+OR+COUNTIF
=IF(OR(COUNTIF(A1,'*'&{'Python','java'}&'*')),A1,'0')
如果含有字段Python或java中的任何一個則為本身,否則為'0',* 代表任意內容,之后就可以通過Excel的篩選功能,把B列的'0'篩選掉。
12. VALUE
功能:將所選區(qū)域轉為數(shù)值類型
13.TEXT
功能:將所選區(qū)域轉為文本類型
End.
作者:北風吹沙
來源:博客園
零基礎入職數(shù)據分析就業(yè)班
課程的形式主要是“直播+錄播”
報名專享:課程項目作業(yè)+1v1班主任監(jiān)督學習+愛數(shù)據學院學員專屬網站+班級答疑群
課程結束后能熟練掌握SQL、Python、Excel、PPT等工具
疫情期間在家學習不添亂