为什么学习Excel

Excel是个很好用的工具,不会因为会Python而成为数据分析师,而是能用任何工具解决问题。
Excel和SQL 可以解决敏捷、快速、需要立即响应的需求;Python BI和ETL可以解决常规、频繁、可复用可工程化的需求。

工具学习路径

Excel函数->SQL函数->Python函数 先用图形界面了解函数 再用封装好的脚本语言了解函数 最后了解编程函数。

Excel常见函数

文本清洗类

拓展知识:1bit=两种可能性,用0或1存储,1byte=8bit 例如:00000001,一共有256种可能性,1byte可以存256个字符编码,最初的存储方式为ASCII,存了英文+数字+符号,汉字远远大于256种可能性,于是用2byte组合表示,存储方式为GB2312,为了表示更多汉字包括繁体字,出现了拓展版存储方式GBK,可是中国还有少数民族,少数民族汉字怎么办,于是又出现了GB18030,可是全世界有多少国家多少民族?于是发明了一个万国码,定义为Unicode。任何字符 -> UTF-8/GB2312/ASCII ->010101
常见函数
FIND
SUBSTITUTE 替换函数 公式:SUBSTITUTE(要替换的文本,旧文本,新文本,[替换第几个]),
举个例子
=SUBSTITUTE(B2,MID(B2,4,4),””,1) 解释:先使用MID函数取得B列号码中间四位,再用‘’替换这部分,最后一个参数使用1,表示只替换第一次出现的内容。比如替换13801010101010 最后四位和中间四位相同,如果不指定1,就会全部替换掉了。
LEFT 从文本字符串的左边第一个字符开始,截取指定数目的字符 公式:=LEFT(选中区域,截取长度) 举个例子:假定A3单元格保存了“西湖美景” 在 B3中输入=LEFT(“A3”,3) 则输出 西湖美
LEN 统计文本字符串中字符数目 公式:=LEN(text) 举个例子:假定A3 单元格保存了“西湖美景” 在B3中输入 =LEN(A3) 则输出 4
Right
MID 从文本字符串的指定位置开始,截取指定的字符 公式:=MID(text,start_num,num_chars) 举个例子: 假定A3单元格保存了“西湖美景” 在 B3中输入=MID(“A3”,2,2) 则输出 湖美
Text
Concatenate
Trim
Replace

关联匹配类

LOOKUP 多条件查询 公式:=LOOKUP(1,0/((条件区域1=条件1)*(条件区域2=条件2)),查询区域)
Row
VLOOKUP 条件查询 简单公式说明:VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找)
使用说明:
1.第4参数一般用0(或FASLE)以精确匹配方式进行查找。
2.第3参数中的列号,不能理解为工作表中实际的列号,而是指定返回值在查找范围中的第几列。
3.如果查找值与数据区域关键字的数据类型不一致,会返回错误值#N/A。
4.查找值必须位于查询区域中的第一列。
Column
INDEX 返回列表或数组中的元素值 公式:=INDEX(选中区域,行号,列号),注:1.如果省略列号则必须有行号;2.行号和列号是相对于选中区域,而不是Excel全表的行列号。
MATCH 返回指定方式下与指定数值匹配的数字中元素相应的位置
Offset
Hyperlink

逻辑运算类

And
Not
OR 仅当所有参数值均为逻辑“假”时返回函数结果逻辑“假”,否则返回逻辑“真” 公式:OR(logical1,logical2,…) logical表示待测试的条件值或表达式。
举个例子:A3单元格输入=OR(A2>=60,B2>=60),如果 A3中返回 true ,说明A2和B2中至少有一个大于或等于60,如果返回false 则说明A2和B2两个都小于60。
False True
IF 相当于“如果”,常规公式:=IF(判断的条件,符合条件时的结果,不符合条件时的结果)
多条件判断 配合AND函数,对两个条件判断:=IF(AND(B2=”生产”,C2=”主操”),”有”,”无”)
函数说明:当两个条件同时符合,IF函数返回“有”,否则为“无”
IS

计算统计类

SUM 求和 ,常规公式:=SUM(A1:A3) ;
SUMIF 条件求和,公式:=SUMIF(条件区域,指定的求和条件,求和的区域) 函数说明:如果条件区域的数据等于指定求和的条件,则对指定区域中符合条件数据求和。
举个例子:使用SUMIF函数计算一班的总成绩:=SUMIF(D2:D5,F2,C2:C5) 解释:如果D2:D5区域的班级等于F2单元格的“一班”,就对C2:C5单元格对应区域求和
image.png
SUMIFS :多条件求和,公式:=SUMIFS(求和的区域,条件区域1,指定的求和条件1,条件区域2,指定的求和条件2,……)
ROUND 对数值按指定的位数四舍五入,公式:=ROUND(指定数据,四舍五入后的位数) 举个例子:=ROUND(8/9,3) 将8/9的计算结果四舍五入到三位小数
INT 将数值向下取整为最接近的整数,公式:=INT(选中区域) 举例说明:=INT(18.99) 输出 18 取整时不进行四舍五入 ,=INT(-18.99)输出结果-19
RANK 返回某一数值在一列数值中的相对于其他数值的排位 公式:RANK(num,ref,order) num表示需要排序的数值;ref表示排序数值所处的单元格区域;order表示排序方式
stdev
sumproduct
rand
randbetween
substotal
count
averagea
MAX 求一组数中最大值 公式:=MAX(num1,num2,…) 参数不超过30个 举个例子:=MAX(E44:J44,7,8,9,10) 输出结果则是 E44至J44单元之和 与7,8,9,10中的最大值, 如果参数中有逻辑值或文本,则忽略。
MIN 求一组数中最小值 公式:=MINX(num1,num2,…) 参数不超过30个 举个例子:=MIN(E44:J44,7,8,9,10) 输出结果则是 E44至J44单元之和 与7,8,9,10中的最小值, 如果参数中有逻辑值或文本,则忽略。
quartile

时间序列类

MONTH 求出指定日期或选中单元中日期的月份 公式:=MONTH(选中区域) 举个例子:=MONTH(“2021-10-20”)输出结果 10。 YEAR 和 DAY 函数同理
NOW 给出系统当前日期和时间 公式:=NOW() 该函数不需要参数
Date Weekday Weeknum Today