Excel是我們工作中經常使用的一種工具,對于資料分析來說,這也是處理數據最基礎的工具。很多傳統行業的數據分析師甚至隻要掌握Excel和SQL即可。
對于初學者,有的時候并不需要急于苦學R語言等專業工具(當然會也是加分項),因為Excel涵蓋的功能足夠多,也有很多統計、分析、可視化的插件。隻不過我們平時處理數據的時候很多函式都不知道怎麼用。
關于Excel的進階學習,主要分為兩塊:一個是數據分析常用的Excel函數,另一個分享用Excel做一個簡單完整的分析。
這篇文章主要介紹資料分析常用的43個Excel函式及用途,實戰分析将在下一篇講解。
關于函式:
Excel的函式實際上就是一些複雜的計算公式,函式把複雜的計算步驟交由程序處理,隻要按照函式格式錄入相關參數,就可以得出結果。如求一個區域的和,可以直接用SUM(A1:C100)的形式。
所以對于函式,不用刻意記刻意背,隻要知道比如「選取字段,用Left/Right/Mid」函式,并且需要哪些參數怎麼用就行了,複雜的就交給萬能的baidu吧。
函式分類:
關聯匹配類
清理處理類
邏輯運算類
計算統計類
時間序列類
經常性的,需要的數據不在同一個excel表或同一個excel表不同sheet中,數據太多,copy麻煩也不準确,如何整合呢?這類函式就是用于多表關聯或者列欄比對時的場景,而且表越複雜,用得越多。
函式HLOOKUP和VLOOKUP都是用來在表格中查找數據。
功能:用于查找首列滿足條件的元素。
語法:=VLOOKUP(要查找的值,要在其中查找值的區域,區域中包含返回值的列号,精确匹配或近似匹配 — 指定為 0/FALSE 或1/TRUE)。
功能:搜索表的頂行或值的數組中的值,并在表格或數組中指定的欄的同一lan中返回一個值。
語法:=VLOOKUP(要查找的值,要在其中查找值的區域,區域中包含返回值的行号,精确匹配或近似匹配 — 指定為 0/FALSE 或1/TRUE)。
區别:HLOOKUP返回的值與需要查找的值在同一列上,而VLOOKUP返回的值與需要查找的值在同一行上。
功能:返回表格或區域中的值或引用該值。
語法:= INDEX(要返回值的單元格區域或數組,所在列,所在欄)
功能:用于返回指定内容在指定區域(某列或者某欄)的位置。
語法:= MATCH (要返回值的單元格區域或數組,查找的區域,查找方式)
功能:求某一個數值在某一區域内一組數值中的排名。
語法:=RANK(參與排名的數值, 排名的數值區域, 排名方式-0是降序-1是升序-默認為0)。
功能:返回單元格所在的列
功能:返回單元格所在的欄
功能:從指定的基準位置按列欄偏移量返回指定的引用
語法:=Offset(指定點,偏移多少列,偏移多少欄,返回多少列,返回多少欄)
數據處理之前,需要對提取的數據進行初步清理,如清除字符串空格,合并單元格、替換、截取字符串、查找字符串出現的位置等。
清除字符串空格:使用Trim/Ltrim/Rtrim
合并單元格:使用concatenate
截取字符串:使用Left/Right/Mid
替換單元格中内容:Replace/Substitute
查找文本在單元格中的位置:Find/Search
功能:清除掉字符串兩邊的空格
功能:清除單元格右邊的空格
功能:清除單元格左邊的空格
語法:=Concatenate(單元格1,單元格2……)
合并單元格中的内容,還有另一種合并方式是&,需要合并的内容過多時,concatenate效率更快。
功能:從左截取字符串
語法:=Left(值所在單元格,截取長度)
功能:從右截取字符串
語法:= Right (值所在單元格,截取長度)
功能:從中間截取字符串
語法:= Mid(指定字符串,開始位置,截取長度)
功能:替換掉單元格的字符串
語法:=Replace(指定字符串,哪個位置開始替換,替換幾個字符,替換成什麼)
和replace接近,不同在于Replace根據位置實現替換,需要提供從第幾位開始替換,替換幾位,替換後的新的文本;而Substitute根據文本内容替換,需要提供替換的舊文本和新文本,以及替換第幾個舊文本等。因此Replace實現固定位置的文本替換,Substitute實現固定文本替換。
功能:查找文本位置
語法:=Find(要查找字符,指定字符串,第幾個字符)
功能:返回一個指定字符或文本字符串在字符串中第一次出現的位置 ,從左到右查找
語法:=search(要查找的字符,字符所在的文本,從第幾個字符開始查找)
Find和Search這兩個函式功能幾乎相同,實現查找字符所在的位置,區别在于Find函式精确查找,區分大小寫;Search函式模糊查找,不區分大小寫。
功能:文本字符串的字符個數
功能:返回文本中所包含的字符數
功能:使用邏輯函式 IF 函式時,如果條件為真,該函式将返回一個值;如果條件為假,函式将返回另一個值。
語法:=IF(條件, true時返回值, false返回值)
功能:邏輯判斷,相當于「并」。
語法:全部參數為True,則返回True,經常用于多條件判斷。
功能:邏輯判斷,相當于「或」。
語法:隻要參數有一個True,則返回Ture,經常用于多條件判斷。
在利用excel表格統計數據時,常常需要使用各種excel自帶的公式,也是最常使用的一類。重要性不言而喻。不過excel都自帶快捷功能。
MIN函式:找到某區域中的最小值
MAX函式:找到某區域中的最大值
AVERAGE函式:計算某區域中的平均值
COUNT函式: 計算某區域中包含數字的單元格的數目
COUNTIF函式:計算某個區域中滿足給定條件的單元格數目
COUNTIFS函式:統計一組給定條件所指定的單元格數
SUM函式:計算單元格區域中所有數值的和
SUMIF函式:對滿足條件的單元格求和
SUMIFS函式:對一組滿足條件指定的單元格求和
SUMPRODUCT函式:返回相應的數組或區域乘積的和
功能:找到某區域中的最小值
功能:找到某區域中的最大值
功能:計算某區域中的平均值
功能:計算含有數字的單元格的個數。
功能:計算某個區域中滿足給定條件的單元格數目
語法:=COUNTIF(單元格1: 單元格2 ,條件)
比如=COUNTIF(Table1!A1:Table1!C100, 「YES」 ) 計算Table1中A1到C100區域單元格中值為」YES」的單元格個數
功能:統計一組給定條件所指定的單元格數
語法:=COUNTIFS(第一個條件區域,第一個對應的條件,第二個條件區域,第二個對應的條件,第N個條件區域,第N個對應的條件)
比如:=COUNTIFS(Table1!A1: Table1!A100, 「YES」,Table1!C1: Table1!C100, 「NO」 ) 計算Table1中A1到A100區域單元格中值為」YES」,而且同時C區域值為」NO」的單元格個數
計算單元格區域中所有數值的和
功能:求滿足條件的單元格和
語法:=SUMIF(單元格1: 單元格2 ,條件,單元格3: 單元格4)
功能:對一組滿足條件指定的單元格求和
語法:=SUMIFS(實際求和區域,第一個條件區域,第一個對應的求和條件,第二個條件區域,第二個對應的求和條件,第N個條件區域,第N個對應的求和條件)
比如=SUMIFS(Table1!C1:Table1!C100,Table1!A1: Table1!A100, 「YES」 ,Table1!B1:Table1B100, 「NO」 ) 計算Table1中C1到C100區域,同時相應行A列值為」YES」,而且對應B列值為」NO」的單元格的和。
功能:返回相應的數組或區域乘積的和
語法: =SUMPRODUCT(單元格1: 單元格2 ,單元格3: 單元格4)
比如:=SUMPRODUCT(Table1!A1:Table1!A100, Table2!B1Table2!B100) 計算表格1的A1到A100與表格2的B1到B100的乘積和,即A1B1+A2B2+A3*B3+…
統計型函式,求标準偏差。
語法:=Substotal(引用區域,參數)
彙總型函式,将平均值、計數、最大最小、相乘、标準偏差、求和、方差等參數化,換言之,隻要會了這個函式,上面的都可以抛棄掉了。
取整函式,int向下取整,round按小數位取數。
round(3.1415,2)=3.14 ;
round(3.1415,1)=3.1
專門用于處理時間格式以及轉換。
返回今天的日期,動态函式。
返回當前的時間,動态函式。
功能:返回日期的年份。
功能:返回日期的月份。
功能:返回以序列數表示的某日期的天數。
功能:返回對應于某個日期的一周中的第幾天。 默認情況下,天數是 1(星期日)到 7(星期六)範圍内的整數。
語法:=Weekday(指定時間,參數)
功能:計算兩個日期之間相隔的天數、月數或年數。
語法:=Datedif(開始日期,結束日期,參數)
有話要說...