如何七周成為數據分析師01:常見的Excel函數全部涵蓋在這里了

13 評論 113607 瀏覽 606 收藏 13 分鐘

本文是《如何七周成為數據分析師》的第一篇教程,如果想要了解寫作初衷,可以先行閱讀七周指南。溫馨提示:如果您已經熟悉Excel,大可不必再看這篇文章,或只挑選部分。

世界上的數據分析師分為兩類,使用Excel的分析師,和其他分析師。

每一個數據新人的入門工具都離不開Excel。因為Excel涵蓋的功能足夠多。

很多傳統行業的數據分析師只要求掌握Excel即可,會SPSS/SAS是加分項。即使在挖掘滿街走,Python不如狗的互聯網數據分析界,Excel也是不可替代的。

Excel有很多強大的函數,這篇文章主要介紹各種函數的用途。實戰會后續文章講解。

函數可以被我們想象成一個盒子,專門負責將輸入轉換成輸出,不同的函數對應不同的輸出。

=Vlookup( lookup_value ,table_array,col_index_num,[range_lookup] )

上文的Vlookup就是一個經典函數。函數中包含參數,括號里的部分都是參數。我們可以把參數想象成盒子上的開關。vlookup就有四個開關,不同開關組合決定了函數的輸入和輸出。

=Vlookup( 參數1,參數2,參數3,參數4)

復雜的原理不需要了解。這篇文章是常用函數匯總。甚至你不需要特別記憶怎么使用函數,應用Excel函數最重要的能力是學會搜索。因為絕大部分函數網上已經有相應的解釋,圖文結合,非常詳盡。

學會將遇到的問題轉換成搜索語句,在我還是新人時并不會vlookup,我遇到的第一個問題就是關聯多張表的數據,我在網上搜索:excel怎么匹配多張表的數據。于是就學會了。這里推薦使用百度,因為前三行的結果基本是百度經驗,對新人學習很友好。(后續圖片均引用自百度經驗)

在理解函數的基礎上,我會適當引入高層次的內容,SQL和Python(內建函數)。將其和Excel結合學習,如果大家吃透了Excel的函數,那么后續學習會輕松不少。

清洗處理類

主要是文本、格式以及臟數據的清洗和轉換。很多數據并不是直接拿來就能用的,需要經過數據分析人員的清理。數據越多,這個步驟花費的時間越長。

Trim

清除掉字符串兩邊的空格。

MySQL有同名函數,Python有近似函數strip。

Concatenate

=Concatenate(單元格1,單元格2……)

合并單元格中的內容,還有另一種合并方式是& 。”我”&”很”&”帥” = 我很帥。當需要合并的內容過多時,concatenate的效率快也優雅。

MySQL有近似函數concat。

Replace

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

替換掉單元格的字符串,清洗使用較多。

MySQL中有同名函數,Python中有同名函數。

Clipboard Image.png

Substitute

和replace接近,區別是替換為全局替換,沒有起始位置的概念

Left/Right/Mid

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

截取字符串中的字符。Left/Right(指定字符串,截取長度)。left為從左,right為從右,mid如上文示意。

MySQL中有同名函數。

Len/Lenb

返回字符串的長度,在len中,中文計算為一個,在lenb中,中文計算為兩個。
MySQL中有同名函數,Python中有同名函數。

Find

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

查找某字符串出現的位置,可以指定為第幾次出現,與Left/Right/Mid結合能完成簡單的文本提取
MySQL中有近似函數 find_in_set,Python中有同名函數。

Clipboard Image.png

Search

和Find類似,區別是Search大小寫不敏感,但支持*通配符

Text

將數值轉化為指定的文本格式,可以和時間序列函數一起看

關聯匹配類

在進行多表關聯或者行列比對時用到的函數,越復雜的表用得越多。多說一句,良好的表習慣可以減少這類函數的使用。

Lookup

=Lookup(查找的值,值所在的位置,返回相應位置的值)

最被忽略的函數,功能性和Vlookup一樣,但是引申有數組匹配和二分法。

Vlookup

=Vlookup(查找的值,哪里找,找哪個位置的值,是否精準匹配)

Excel第一大難關,因為涉及的邏輯對新手較復雜,通俗的理解是查找到某個值然后黏貼過來。

Clipboard Image.png

Index

=Index(查找的區域,區域內第幾行,區域內第幾列)

和Match組合,媲美Vlookup,但是功能更強大。

Clipboard Image.png

Match

=Match(查找指定的值,查找所在區域,查找方式的參數)

和Lookup類似,但是可以按照指定方式查找,比如大于、小于或等于。返回值所在的位置。

Clipboard Image.png

Row

返回單元格所在的行

Column

返回單元格所在的列

Offset

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

建立坐標系,以坐標系為原點,返回距離原點的值或者區域。正數代表向下或向左,負數則相反。

邏輯運算類

數據分析中不得不用到邏輯運算,邏輯運算返回的均是布爾類型,True和False。很多復雜的數據分析會牽扯到較多的邏輯運算

IF

經典的如果但是,在后期的Python中,也會經常用到,當然會有許多更優雅的寫法。也有ifs用法,取代if(and())的寫法。

MySQL中有同名函數,Python中有同名函數。

And

全部參數為True,則返回True,經常用于多條件判斷。

MySQL中有同名函數,Python中有同名函數。

Or

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

MySQL中有同名函數,Python中有同名函數。

IS系列

常用判斷檢驗,返回的都是布爾數值True和False。常用ISERR,ISERROR,ISNA,ISTEXT,可以和IF嵌套使用。

計算統計類

常用的基礎計算、分析、統計函數,以描述性統計為準。具體含義在后續的統計章節再展開。

Sum/Sumif/Sumifs

統計滿足條件的單元格總和,SQL有中同名函數。

MySQL中有同名函數,Python中有同名函數。

Sumproduct

統計總和相關,如果有兩列數據銷量和單價,現在要求賣出增加,用sumproduct是最方便的。

MySQL中有同名函數。

Count/Countif/Countifs

統計滿足條件的字符串個數

MySQL中有同名函數,Python中有同名函數。

Max

返回數組或引用區域的最大值

MySQL中有同名函數,Python中有同名函數。

Min

返回數組或引用區域的最小值

MySQL中有同名函數,Python中有同名函數。

Rank

排序,返回指定值在引用區域的排名,重復值同一排名。

SQL中有近似函數row_number() 。

Clipboard Image.png

Rand/Randbetween

常用隨機抽樣,前者返回0~1之間的隨機值,后者可以指定范圍。

MySQL中有同名函數。

Averagea

求平均值,也有Averageaif,Averageaifs

MySQL中有同名函數,python有近似函數mean。

Quartile

=Quartile(指定區域,分位參數)

計算四分位數,比如1~100的數字中,25分位就是按從小到大排列,在25%位置的數字,即25。參數0代表最小值,參數4代表最大值,1~3對應25、50(中位數)、75分位

Clipboard Image.png

Stdev

求標準差,統計型函數,后續數據分析再講到

Substotal

=Substotal(引用區域,參數)

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

Clipboard Image.png

Int/Round

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

round(3.1415,2) =3.14 ;

round(3.1415,1)=3.1

時間序列類

專門用于處理時間格式以及轉換,時間序列在金融、財務等數據分析中占有較大比重。時機序列的處理函數比我列舉了還要復雜,比如時區、分片、復雜計算等。這里只做一個簡單概述。

Year

返回日期中的年

MySQL中有同名函數。

Month

返回日期中的月

MySQL中有同名函數。

Weekday

=Weekday(指定時間,參數)

返回指定時間為一周中的第幾天,參數為1代表從星期日開始算作第一天,參數為2代表從星期一開始算作第一天(中西方差異)。我們中國用2為參數即可。

MySQL中有同名函數。

Weeknum

=Weeknum(指定時間,參數)

返回一年中的第幾個星期,后面的參數類同weekday,意思是從周日算還是周一。

MySQL中有近似函數 week。

Day

返回日期中的日(第幾號)

MySQL中有同名函數。

Date

=Date(年,月,日)

時間轉換函數,等于將year(),month(),day()合并

MySQL中有近似函數?date_format。

Now

返回當前時間戳,動態函數

MySQL中有同名函數。

Today

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

MySQL中有同名函數。

Datedif

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

日期計算函數,計算兩日期的差。參數決定返回的是年還是月等。

MySQL中有近似函數?DateDiff。

Tips:

1.后續數據類文章都會同步更新在菜單下。

2.Excel以2016版為準。

相關閱讀

互聯網數據分析能力的養成,需一份七周的提綱

#專欄作家#

秦路,微信公眾號ID:tracykanc,人人都是產品經理專欄作家。

本文由 @秦路?原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自PEXELS,基于CCO協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 分享的很實用,最近想從業務產品經理學習一些數據分析知識,往數據產品經理發展,受教了。

    來自陜西 回復
  2. 圖都不能看

    來自北京 回復
  3. 我看的時候什么圖都顯示不了,你們能看到嗎?

    來自北京 回復
  4. 喜歡作者的分享,試驗中發現有一個小小的問題。計算統計類列舉的函數:substotal 應該是 Subtotal [=Subtotal(參數,引用區域)]。

    來自四川 回復
  5. 謝謝作者的分享

    來自廣東 回復
  6. 謝謝分享

    來自北京 回復
  7. 謝謝整理分享。

    來自陜西 回復
  8. 謝謝作者分享,詳細學習中,在實際應用中發現有個地方好像筆誤了,“建立坐標系,以坐標系為原點,返回距離原點的值或者區域。正數代表向下或向左,負數則相反?!保覍W習應用的時候,好像正數是代表向下和向右。

    來自北京 回復
  9. 工作一年后最大的感受就是excel 技能熟練很重要,這真的極大提升工作效率,特別是經常要做分析分析數據的工作,目前列到函數還有很多沒有用過

    回復
  10. 果斷關注慢慢學 ??

    來自北京 回復
  11. 不錯,計劃努力學習excel表格函數,提高工作關于數據的效率,

    來自湖北 回復
  12. 很具體的表格操作,感謝

    來自北京 回復
  13. 知乎上看見過作者的專欄,頂一下

    來自廣東 回復