效率工具:資料分析中常見的Excel函式都在這裡了
題記
最近,不知怎麼的突然迷上了Excel,雖說用雲筆記整理資訊更方便,但是印象和有道,說實話,插入表格功能都很雞肋,在真正提煉結構化知識時,還是不如Excel來得更高效。
加上工作中也會常常用Excel做資料分析,便隨手把記錄下來的常用函式整理了一下,方便以後隨手查閱。
Excel有很多強大的函式,不過大多數程式猿一般看不上,認為那都是別人才會乾的事。其實不然,用好了能大大提高個工作和生活效率。
這篇文章主要介紹各種函式的用途。實戰以後有空再講解。
在Excel中,一般公式長這樣:
=Vlookup( lookup_value ,table_array,col_index_num,[range_lookup] )
Vlookup是一個經典函式。函式中包含引數,括號裡的部分都是引數。換成虛擬碼就是:
=Vlookup( 引數1,引數2,引數3,引數4 )
至於為什麼非要這樣,原理就不必深究了。按理,都不需要特別記憶怎麼使用函式?有哪些函式?因為絕大部分函式網上已經有相應的解釋,圖文結合,非常詳盡。
不過,每次都需要聯網搜尋,還要耗費注意力篩選哪篇文章講得更好,長期下來有點浪費時間。所以,更好的辦法還是應該自己根據的使用情況總結成一個可用工具類(工具思維)。
1. 清洗處理類
主要是文字、格式以及髒資料的清洗和轉換。很多資料並不是直接拿來就能用的,需要經過資料分析的清理。資料越多,這個步驟花費的時間越長。
Trim
=Trim(單元格)
清除掉字串兩邊的空格。
MySQL有同名函式,Python有近似函式strip。
Concatenate
=Concatenate(單元格1,單元格2……)
合併單元格中的內容,還有另一種合併方式是& 。”我”&”很”&”帥” = 我很帥。當需要合併的內容過多時,concatenate的效率快也優雅。
MySQL有近似函式concat。
Replace
=Replace(指定字串,哪個位置開始替換,替換幾個字元,替換成什麼)
替換掉單元格的字串,清洗使用較多。
MySQL中有同名函式,Python中有同名函式。如下圖示例:
Substitute
=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中有同名函式。
Search
和Find類似,區別是Search大小寫不敏感,但支援*萬用字元
Text
將數值轉化為指定的文字格式,可以和時間序列函式一起看
2、關聯匹配類
在進行多表關聯或者行列比對時用到的函式,越複雜的表用得越多。多說一句,良好的表習慣可以減少這類函式的使用。
Lookup
=Lookup(查詢的值,值所在的位置,返回相應位置的值)
最被忽略的函式,功能性和Vlookup一樣,但是引申有陣列匹配和二分法。
Vlookup
=Vlookup(查詢的值,哪裡找,找哪個位置的值,是否精準匹配)
Excel第一大難關,因為涉及的邏輯對新手較複雜,通俗的理解是查詢到某個值然後黏貼過來。
Index
=Index(查詢的區域,區域內第幾行,區域內第幾列)
和Match組合,媲美Vlookup,但是功能更強大。
Match
=Match(查詢指定的值,查詢所在區域,查詢方式的引數)
和Lookup類似,但是可以按照指定方式查詢,比如大於、小於或等於。返回值所在的位置。
Row
返回單元格所在的行
Column
返回單元格所在的列
Offset
=Offset(指定點,偏移多少行,偏移多少列,返回多少行,返回多少列)
建立座標系,以座標系為原點,返回距離原點的值或者區域。正數代表向下或向左,負數則相反。
3、邏輯運算類
資料分析中不得不用到邏輯運算,邏輯運算返回的均是布林型別,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巢狀使用。
4.計算統計類
常用的基礎計算、分析、統計函式,以描述性統計為準。
Sum/Sumif/Sumifs
統計滿足條件的單元格總和,SQL有中同名函式。
MySQL中有同名函式,Python中有同名函式。
Sumproduct
統計總和相關,如果有兩列資料銷量和單價,現在要求賣出增加,用sumproduct是最方便的。
MySQL中有同名函式。
Count/Countif/Countifs
統計滿足條件的字串個數
MySQL中有同名函式,Python中有同名函式。
Max
返回陣列或引用區域的最大值
MySQL中有同名函式,Python中有同名函式。
Min
返回陣列或引用區域的最小值
MySQL中有同名函式,Python中有同名函式。
Rank
排序,返回指定值在引用區域的排名,重複值同一排名。
SQL中有近似函式row_number() 。
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分位
【圖片】
Stdev
求標準差,統計型函式,後續資料分析再講到
Substotal
=Substotal(引用區域,引數)
彙總型函式,將平均值、計數、最大最小、相乘、標準差、求和、方差等引數化,換言之,只要會了這個函式,上面的都可以拋棄掉了。
Int/Round
取整函式,int向下取整,round按小數位取數。比如:
round(3.1415,2) =3.14 ;
round(3.1415,1)=3.1
5、時間序列類
專門用於處理時間格式以及轉換,時間序列在金融、財務等資料分析中佔有較大比重。時機序列的處理函式比我列舉了還要複雜,比如時區、分片、複雜計算等。這裡只做一個簡單概述。
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。
小結
到此整理彙總就完了,算是做了一次複習。
部分用法參考網路蒐集資訊,如有錯誤,歡迎大家補充指正。
相關推薦
效率工具:資料分析中常見的Excel函式都在這裡了
題記 最近,不知怎麼的突然迷上了Excel,雖說用雲筆記整理資訊更方便,但是印象和有道,說實話,插入表格功能都很雞肋,在真正提煉結構化知識時,還是不如Excel來得更高效。 加上工作中也會常常用Excel做資料分析,便隨手把記錄下來的常用函式整理了一下,方便
資料分析常用的Excel函式
Excel是我們工作中經常使用的一種工具,對於資料分析來說,這也是處理資料最基礎的工具。 本文對資料分析需要用到的函式做了分類,並且有詳細的例子說明,文章已做了書籤處理,點選可跳轉至相應位置。 函式分類: 關聯匹配類 清洗處理類 邏輯運算類 計算統計類 時間序列類 一、關
R的極客理想:工具篇(資料分析技術叢書).epub
【下載地址】 大資料時代,R語言已成為資料分 析的利器,是挖掘資料價值必不可少的工具,截止到2014年5月,R語言的軟體包有5500多個。如何使用這眾多的軟體包,是R語言學習者和使用者遇到的最大問題。本書將告訴讀者R語言在真實環境下到底能夠做什麼,並且詳細地告訴你怎樣一步一步地實施。書中結
大資料分析中,有哪些常見的大資料分析模型?
常見資料分析模型較多,列舉其中常見的八種供樓主參考: 1、行為事件分析 行為事件分析法來研究某行為事件的發生對企業組織價值的影響以及影響程度。企業藉此來追蹤或記錄的使用者行為或業務過程,如使用者註冊、瀏覽產品詳情頁、成功投資、提現等,通過研究與事件發生關聯的所有因素來挖掘使用者行為事件背後的原因、互動影響
政府大資料應用的反思:大資料分析應用常見的困難
大資料是政府的事嗎?資料資源都是大資料嗎?大資料應用存在哪些問題?網際網路+大資料是什麼關係?常講的哪些大資料應用是片面的?企業可以從哪些方向入手大資料應用?摘要:新一代資訊科技與創新2.0的互動催生了大資料,生動詮釋了數字時代、知識社會創新形態的嬗變,進一步消融了創新的邊界
機器學習(4):資料分析的工具-pandas的使用
前面幾節說一些沉悶的概念,你若看了估計已經心生厭倦,我也是。所以,找到了一個理由來說一個有興趣的話題,就是資料分析。是什麼理由呢?就是,機器學習的處理過程中,資料分析是經常出現的操作。就算機器對大量樣本預測了結果,那對結果進行資料分析與展示,也是經常遇到的標準作業,所以,這一次,來看看怎麼做到資料分析的。 在
乾貨 :資料分析團隊的搭建和思考
以前說到資料驅動業務增長,我們第一個想到的可能是資料分析的方法。但就目前來看,資料驅動業務的增長已經不僅僅是分析的方法和模型問題,而是包括了資料人才的培養、資料架構的設計,甚至整個公司組織架構設計的企業治理問題。所以今天我想從途家資料團隊的發展、部門的構成及職責這兩個方面去跟大家分享一下途家網的一些
Python資料分析----Python3操作Excel-以豆瓣圖書Top250為例
本文利用Python3爬蟲抓取豆瓣圖書Top250,並利用xlwt模組將其儲存至excel檔案,圖片下載到相應目錄。旨在進行更多的爬蟲實踐練習以及模組學習。 工具 1.Python 3.5 2.BeautifulSoup、xlwt模組 開始動手 首先檢視目標網頁的url:&nbs
python資料分析中常用的庫
Python是資料處理常用工具,可以處理數量級從幾K至幾T不等的資料,具有較高的開發效率和可維護性,還具有較強的通用性和跨平臺性,這裡就為大家分享幾個不錯的資料分析工具,需要的朋友可以參考下 Python是資料處理常用工具,可以處理數量級從幾K至幾T不等的資料,具有較高的開發效率和可維
Android卡頓分析中常見的log
1 看記憶體 bugreport 開始的時候有pss的資訊 並且進行排序 , 之後會寫一個解析和計算的 2 找system log中關鍵部分 一般裝置hang 住的時候使用者會瘋狂按keycode ,可以找相關log 3keyCode:3 down:true eventTim
劍指offer 面試題41:資料流中的中位數 c++
題目:如何得到一個數據流中的中位數?如果從資料流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。 思路:資料流的中位數最好使用兩個堆,這樣可以動態維護插入和獲得中位數的過程。可以使用一個大頂堆和一個小
Airflow 中文文件:資料分析
使用資料生產效率的一部分是擁有正確的武器來分析您正在使用的資料。 Airflow提供了一個簡單的查詢介面來編寫SQL並快速獲得結果,以及一個圖表應用程式,可以讓您視覺化資料。 臨時查詢 adhoc查詢UI允許與Airflow中註冊的資料庫連線進行簡單的SQL互動。 圖表
javascript中常見的函式封裝 :判斷是否是手機,判斷是否是微信,獲取url地址?後面的具體引數值,毫秒格式化時間,手機端px、rem尺寸轉換等
// 判斷是否是手機 function plat_is_mobile(){ var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var
資料分析中sql基本使用思路是什麼,如何培養自己的資料分析思維?
在資料分析行業中,離不開資料分析軟體以及相應的思維資料分析中,需要用很多的軟體去進行資料分析,很多人會使用Excel表格並且用Excel表格進行分析資料,但是Excel不適合分析大量的資料,如果使用Excel強行分析資料的話,就會顯得力不從心。不過,資料庫可以解決這個問題,很多企業都會使用sql進行儲存資
資料倉庫中常見的概念的簡單解釋(轉)
原文:https://blog.csdn.net/iteye_4537/article/details/82028841 下面列出的資料倉庫中常見的概念的簡單解釋,概念都不懂啊,知道的太少了 冰山查詢――iceberg query 操作集市――oper mart 操
人工智慧第三課:資料科學中的Python
我用了兩天左右的時間完成了這一門課《Introduction to Python for Data Science》的學習,之前對Python有一些基礎,所以在語言層面還是比較順利的,這門課程的最大收穫是讓我看到了在資料科學中Python的真正威力(也理解了為什麼Python這麼流行),同時本次課程的互動式練
大資料分析中使用關係型資料庫的關鍵點
相當一部分大資料分析處理的原始資料來自關係型資料庫,處理結果也存放在關係型資料庫中。原因在於超過99%的軟體系統採用傳統的關係型資料庫,大家對它們很熟悉,用起來得心應手。 在我們正式的大資料團隊,數倉(資料倉庫Hive+HBase)的資料收集同樣來自Oracle或MySql,處理後的統計結果和明細,儘管儲存
資料思維 第三篇:資料分析的三板斧
令狐沖在華山學藝時,雖然勤學苦練,但是終不得法,在機緣巧合之下,得到風清揚老前輩的真傳,練成獨孤九劍之後,才名震江湖。雖然笑傲江湖的故事情節是虛構的,但從令狐沖蛻變的過程可以看出,練武需要祕籍。資料分析也有一本傳世祕籍,只有六字,這就是《資料化管理》中提到的六字箴言、資料分析的三板斧:對比、細分、溯源,具體來
資料分析中資料清洗物件有哪些?
在資料分析中資料分析獲取是一個非常重要的事情,為了保證資料分析出一個很好的結果,需要一個乾淨的資料,乾淨的資料能夠提高資料分析的效率,所以,資料清洗是一個很重要的工作,通過資料的清洗,就能夠統一資料的格式,這樣才能夠減少資料分析中存在的眾多問題,從而提高資料的分析的效率。一般來說,清洗
劍指offer:資料流中的中位數(java)
/** * 題目: * 如何得到一個數據流中的中位數?如果從資料流中讀出奇數個數值, * 那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值, * 那麼中位數就是所有數值排序之後中間兩個數的平均值。我們使用Ins