python吊打Excel?屁!那是你不會用!

↑ 點擊上方 凹凸數據” 關注 + 星標 ~ 

每天更新,大概率是晚9點  


相信大家總能在朋友圈刷到下圖這種教育廣告,python很強,但總是這麼貶低Excel就沒必要了吧。

直到我看見了下面的回覆,笑噴!

實話實說,從數據分析的角度來看,excel的可視化要差一些,數據採集也不能跟python相比,這都不是excel的專業,但是excel在數理統計上的表現還是很不錯的

所以當數據分析量小、想要快速出結果、邏輯關係簡單的情況下,excel很香![1]

而python就是給你一堆原材料,水泥、磚頭、鋼筋等等,你的工作就是自己要從頭摘,一步步把高樓給建造出來。

Excel雖然人人都會,但如果想要用來數據分析,要掌握的函數操作還真不少。

下文是Excel常用函數大全,建議收藏,不要吃灰!

文末三連不要忘了哈(閱讀、在看、分享)

這是一份很好的Excel常用函數大全,也是工作中經常使用的函數操作,學習Excel常用函數,不要求面面俱到,而是選擇常用的函數進行學習,當再次碰到了其它函數,再單獨去學習即可。       ——黃同學

1、excel函數需要掌握的基礎功能

  下面都是在使用Excel過程中,所使用過的一些基礎功能,限於篇幅這裏就不詳細介紹,大家可以自行下去操作一遍。

  • 相對引用

  • 絕對引用

  • 幫助功能

  • 顯示公式

  • 自動/手動計算

  • 追蹤引用單元格

  • 名稱編輯器

  • 照相機

2、函數分類

3、學習函數的建議

  • 不要死記硬背,但是看着某些函數一定要眼熟。

  • 學會使用在線幫助功能(按F1鍵)。

  • 合理的邏輯思維,excel中函數的使用,和我們學習其他編程語言中使用函數一樣,瞭解函數的功能、參數。

4、絕對引用、相對引用與半絕對引用

1)圖示講解含義

  注意:使用F4鍵,進行絕對引用和相對引用公式的切換。

 上圖我們已經演示了“相對引用”和“絕對引用”的功能,那麼到底什麼是“相對引用”?什麼又是“絕對引用”呢?下面我們分別對其下一個定義。

  在定義這兩個概念之前,我們先來說明一下excel中的行與列。從上圖可以看出,在excel中,行索引是一系列的數字(1,2,3...),列索引是一系列的大寫字母(A,B,C...),。但是我們在表述某一個單元格時,常喜歡用類似“C2”的形式,表示某一個單元格,即把列寫在前面,行寫在後面。

  相對引用:針對某一單元格引用另外一個單元格的情況,不添加“ $ ”符號時,就表示相對引用。當我們將引用單元格,朝着右邊、下邊拖動填充的時候,該引用單元格會跟着被引用單元格變化,類似於圖中的“A圖”。

  絕對引用:也是針對某一單元格引用另外一個單元格的情況,行列都添加“ $ ”符號時,就表示絕對引用。當我們將引用單元格,朝着右邊、下邊拖動填充的時候,引用單元格不發生任何變化,類似於圖中的“B圖”。

  半絕對引用:同樣是針對某一單元格引用另外一個單元格的情況,行或者列其中一個添加“ $ ”符號時,就表示半絕對引用。當僅針對行使用了“ $ ”符號,引用單元格朝下邊拖拉填充的時候,引用單元格不會發生任何變化,類似於圖中的“C圖”。當僅針對列使用了“$”符號,引用單元格朝右邊拖拉填充的時候,引用單元格不會發生任何變化,類似於圖中的“D圖”。

2)利用九九乘法表講述“絕對引用”和“相對引用”

① 最簡單的一種

        從上述案例可以看出,我們在B41單元格輸入了“=$A41*B$40”這個公式,這個公式表示B41單元格分別引用了“$A41和B$40”這兩個單元格,但是爲什麼是在A和40前面加“$”符號呢?這個需要我們好好琢磨一下。

        我們可以先想象一下,當單元格B41從做左右拖拉填充的時候,是不是保持了“A41行不變,B40列變化”,因此40前面需要加一個“$”符號。當單元格B41從上往下拖拉填充的時候,是不是保持了“B40列不變,A41行變化”,因此40前面需要加一個“$”符號。

② 使用“&”連接符,顯示較全的九九乘法表

③ 配合if()函數,顯示上/下三角形式的九九乘法表

5、函數講解(最常用的個函數)

  使用函數之前,學會下方的四個提示和一個注意:  一:所有的函數均是以“=”開頭;  二:所有的函數都是在“英文”狀態下輸入;  三:文本或日期等非單元格的引用,需要添加“雙引號”;  四:連接符是“&”;  注意:在excel單元格中,數字和日期都是靠着單元格右側,文本都是靠着單元格左側。

1)邏輯函數

① and

② or

③ if

當使用了if()函數進行多層嵌套,很容易寫錯,那麼怎麼規避這個問題呢?

2)字符串函數

① left

② right

③ mid

④ len(lenb自己下去學習)

注意:len = 1中文 + 1英文;lenb = 2中文 + 1英文;這兩個函數可以完成中英文的分離。len - lenb表示的是中文個數;2len - lenb表示的是英文個數。

⑤ lower

⑥ upper

⑦ proper

⑧ find

注意:find()函數區分大小寫,search()函數不區分大小寫。

⑨ search

注意:find()函數區分大小寫,search()函數不區分大小寫。

⑩ rept

⑪ replace

⑫ substitute

注意:這個函數的最後一個參數很有用。如果一個文本中有幾個重複的內容,最後一個參數可以指定,從第幾個重複內容開始起,進行替換。

⑬ trim

注意:該函數可以去掉字符串中所有的空格,但是會保留一個字符與字符之間的間隔空白符。

3)數學函數

① abs

② round

③ roundup

④ rounddown

⑤ even

注意:enen和odd都是朝着絕對值數字大的方向走的。

⑥ odd

注意:enen和odd都是朝着絕對值數字大的方向走的。

⑦ int

⑧ trunc

⑨ power

⑩ ^

⑪ product

⑫ mod

⑬ rand

⑭ randbetween

3)統計函數

① sum_sumif_sumifs

② average_averageif_averageif_averagea

注意:averagea()函數用法較爲特殊,需要特別留意一下即可。

③ count_countif_countifs_counta_countblack

④ max_maxa_min_mina_median

⑤ sumproduct

⑥ subtotal

注意:這個函數可以實現我們之前學過的很多函數的功能,用起來也很方便,由於該函數涉及到的知識點太多,這裏簡單介紹一下。我們在excel中輸入該函數,會有這麼多提示:

下面介紹一些操作展示:

4)時間函數

① today_now:返回系統時間

② year_month_day:提取某個日期中的年、月、日

③ days_datedif:計算兩個日期之間的年、月、日

④ edate_eomonth:將時間前、後移動指定月份

⑤ weekday:返回星期幾的函數

這個函數需要特別注意一下,默認情況下,顯示的是國外的時間,也就是說星期天顯示的是1。但是我們國家希望星期天顯示的是7,星期一顯示的是1,怎麼辦呢?我猜你肯定不知道,weekday()函數還有第二個參數,如下圖所示。

今天是2020年5月1號,按照國外默認來說,今天應該是週六,即顯示結果爲6。如果使用了第2個參數後,可以改成我們習慣的“星期”顯示方式。

⑥ text:返回各種日期、時間格式的函數(強大)

text()函數相當強大、有用,涉及到的知識點也是衆多的,因此這裏提供一個學習鏈接給大家,就不詳細演示了:https://baijiahao.baidu.com/s?id=1615357210194597308&wfr=spider&for=pc[2]

⑦ networkdays_networkdays.inl:計算工作日的常用函數

關於networkdays.inl的第4個參數,很有用,我們利用下圖進行展示一下,從下圖可以看出,每一個數字代表每一週的休息日是哪一天,例如“數字11”表示,休息日只有星期天,週六仍然需要上班,這就是我們所說的“單休”。

5)行數、列數統計函數

① column_columns_row_rows

6)匹配查找函數

① vlookup

注意:多條件查詢,需要添加輔助列。

② lookup及其高級應用

注意:使用lookup()函數需要特別注意,“查找對象所在的列必須升序排列”,否則結果做出來都是錯的。同時,這個進行多條件查詢的時候,不需要添加輔助列。

假如,我不想改動源數據,仍然想要使用lookup()做查找,應該怎麼辦呢?那麼就需要使用lookup()高級應用了。關於lookup()高級應用,這裏需要記住一句話:首先它會默認你的查找區域是升序排列,當查找值在查找區域中找不到目標值的時候,就會返回該區域中的“最大值”,這就是下面要講述方法的“解題關鍵”。

③ index

關於index()函數顯示某一行值,涉及到數組的操作,下面我們錄製了一個視頻。

④ match

注意:index()和match()進行搭配使用,進行多條件查找,相當有效,也特別好用。組合棋類的效果是這樣的:index(查找區域,行號,列號)。

⑤ offset

7)錯誤處理函數

① iferror

6、函數實戰操作

1)and_or_if_left_right實戰演示

=IF(D3>100000,"是","否")                        ----1 =IF(OR(B3="北京",B3="上海"),"是","否")           ----2 =IF(AND(E3>30000,E3<100000),"是","否")          ----3 =B3&"--"&A3&"--"&E3                             ----4 =LEFT(C3,7)&""                              ----5 =LEFT(C3,3)&""&RIGHT(C3,4)                  ----6

操作如下:

if嵌套函數演示如下:

=IF(B51<60,"不及格",IF(B51<70,"及格",IF(B51<80,"不錯",IF(B51<90,"良好","非常好"))))

操作如下:

2)find_lower_left_right實戰演示

=LOWER(B3)                                  ---1
=RIGHT(B3,LENB(B3)-LEN(B3))                 ---2
=FIND(RIGHT(B3,LENB(B3)-LEN(B3)),B3)        ---3
=LEFT(B3,2*LEN(B3)-LENB(B3)-1)              ---4

操作如下:

3)abs_int_trunc_round_roundup_rounddown_even_odd實戰演示

=ABS(A2)
=INT(A2)
=TRUNC(A2,1)
=ROUND(A2,1)
=ROUNDUP(A2,1)
=ROUNDDOWN(A2,1)
=EVEN(A2)
=IF(A3>0,EVEN(A3),EVEN(A3)+2)
=ODD(A2)
=IF(A2>0,ODD(A2),ODD(A2)+2)

操作如下:

4)rand_randbetween實戰演示

=RAND()
=TRUNC((RAND()*10))
=RANDBETWEEN(1,11)
=TEXT(RANDBETWEEN(1,TODAY()),"yyyy-mm-dd")

操作如下:

5)sum_sumif_sumifs實戰演示

=SUM(P2:P7326)
=SUMIF(Q:Q,2018,P:P)
=SUMIFS(P:P,Q:Q,2019,M:M,"上海")
=SUMIFS(P:P,Q:Q,2019,M:M,"上海",N:N,"酒水")

操作如下:

6)average_averageif_averageif_averagea實戰演示

=AVERAGE(G:G)
=AVERAGEIF(H:H,2018,G:G)
=AVERAGEIFS(G:G,H:H,2019,F:F,"可樂")

操作如下:

7)count_countif_countifs_counta_countblack實戰演示

=COUNT(G:G)
=COUNTIF(H:H,2019)
=COUNTIFS(H:H,2019,D:D,"上海")
'=COUNTIFS(H:H,2019,D:D,"上海",F:F,"可樂")

操作如下:

8)max_maxa_min_mina_median實戰演示

=MAX(G2:G7327)
=MIN(G2:G7327)
=MEDIAN(G2:G7327)

操作如下:

9)sumproduct實戰演示

=SUMPRODUCT(G:G,J:J)
=SUMPRODUCT((H:H="2018")*1,G:G,J:J)
=SUMPRODUCT((H2:H7326="2018")*G2:G7326*J2:J7326)
=SUMPRODUCT((H:H="2019")*1,(D:D="上海")*1,G:G,J:J)
=SUMPRODUCT((H:H="2019")*1,(D:D="上海")*1,(E:E="酒水")*1,G:G,J:J)

操作如下:

參考文章

[1]

李啓方《會用Excel,真的需要再學Python嗎?》

[2]

《Excel:百變函數Text用法彙總,簡單、好用、又強大:https://baijiahao.baidu.com/s?id=1615357210194597308&wfr=spider&for=pc

如果覺得文章對你有幫助,歡迎關注黃同學的CSDN!

後臺回覆「進羣」,加入讀者交流羣~

點擊紅字積分瞭解積分規則~

積分兌換上新書(閱讀原文直達)限時300積分,明天恢復原價,需要的同學也可以直接點擊下方鏈接直接購買

朱小五

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章