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

黄伟呢 凹凸数据
相信大家总能在朋友圈刷到下图这种教育广告,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单元格中,数字和日期都是靠着单元格右侧,文本都是靠着单元格左侧。

![](https://s4.51cto.com/images/blog/202101/20/f160ea7fa2384fb5ded230f2841275e3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

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

©著作权归作者所有:来自51CTO博客作者mb5fe18e5a55d8d的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 动画:一个底层运行函数的自白!
  2. GitHub的注册,代码仓库的创建,用小乌龟上传代码(个人认为比较适合新
  3. 零基础学习Python列表操作
  4. 海象操作符!Python 3.8 的新特性汇总
  5. 使用Eclipse实现自定义Jmeter函数助手
  6. Oracle基本操作+Java连接Oracle
  7. Cocos平台 | 快速集成AGC云函数服务
  8. 正确使用异步函数的姿势[每日前端夜话(0x06)]
  9. Numpy中Meshgrid函数介绍及2种应用场景

随机推荐

  1. 船新 IDEA 2020.1 真香体验!
  2. 001. 两数之和 | Leetcode题解
  3. 互联网"凛冬",看大厂HR怎么说~
  4. 每次面试总感觉很心累,为什么?
  5. 老大说:谁要再用double定义商品金额,就自己
  6. 002. 两数相加 | Leetcode题解
  7. 个税革新,你每年能省多少钱~
  8. 小程序静态资源如何设置防盗链?
  9. 全栈资源共享 一起成长,努力成为你想成为
  10. 003. 无重复字符的最长子串 | Leetcode题