EXCEL-常用函数总结

0、判断一个文本字符串中是否包含数字!/判断一个文本字符串是否是纯汉字!

公式=IF(LENB(A1)=2*LEN(A1),”都是汉字“,“含有非汉字字符”)

解释函数:

LEN(A1)#返回文本字符串中的字符个数;  ##双字字符*1*双字节字符个数+单字节字符*1*单字节字符个<=>计算字符个数;

LENB(A1)#返回文本字符串中的字符个数。与双字节字符集(DBCS)一起使用。##双字节字符*2*双字节字符个数+单字节字符*1*单字节字符个数<=>计算字节个数;

字符:分为双字节字符和单字节字符;字母和数字都是以1个字节为单位,即单字节字符;一个汉字 =  2个字节,即双字节字符;

 

1、统一小括号格式(中文小括号,英文小括号)

公式=ASC("(")  #"("

解释函数:

ASC(A1)#对于双字节字符集(DBCS)语言,将全角英文字符(即双字节)更改为半角英文字符(即单字节);  #因中文输入格式下,无全角半角差异,所以,ASC用于英输入格式下的全角半角处理。  亦可,参照0项表格。

 

2、数据->分列 (数据格式统一的精准分列)<=> 手动快捷键ctrl+E+等待 (“模糊模仿“”分列)<=> 用函数实现(精准分列)

用函数实现数据分列:

在B2处编辑公式=TRIM(MID(SUBSTITUTE($A2,"(",REPT(" ",100)),COLUMN(A2)*100-99,100))

然后将B2横拉填充至C2,则C2处公式为:=TRIM(MID(SUBSTITUTE($A2,"(",REPT(" ",100)),COLUMN(B2)*100-99,100))

最后将B2和C2竖拉填充剩余行即可实现将第一列数据按左边小括号分列。

解释B2处函数:

REPT(" ",100)#将1个空格重复100遍;【1】

SUBSTITUTE($A2,"(",REPT(" ",100))#将文本A2中的左半边小括号替换为100个空格;【2】

MID(SUBSTITUTE($A2,"(",REPT(" ",100)),COLUMN(A2)*100-99,100)#处理【2】步骤出来的文本,从COLUMN(A2)*100-99(即等于1)开始(包含1位置),截取100个字符; 【3】

TRIM(MID(SUBSTITUTE($A2,"(",REPT(" ",100)),COLUMN(A2)*100-99,100))#TRIM删除文本字符串中的空格

 

3、批量下拉填充

 =>   

全选->Ctrl+G定位空值->随意找一个空白单元格输入=还有此单元格想要填充的内容->按Ctrl+Enter,等待几秒,即可,批量下拉填充;

 

4、常用快捷键:

(0)F4:【1】单元格上的处理,重复上次操作;【2】A1B200 按F4可以一次切换成,$A1$B200   $A$1$B$200  A$1B$200 ;

(1)Ctrl+Shift+下箭头,快速选中连续有内容的整列,遇到空的单元格就停止;

(2)Ctrl+Shift+L,快速添加筛选

 

5、条件判断

IFS(条件1,真1,假1-条件2,真2,假2-条件n,真n,假n-条件n+1,...,TRUE,执行)   #可以嵌套164个(大概!具体忘了)

IF(条件1,真,假)

 

6、【单条件搜索】有两个表格(姓名列,年龄列,收入列等),从表1总表中,把表2中人员的年龄和收入匹配出来;

方法一:

公式=VLOOKUP($S2,$O$2:$Q$5,2,0) #其中最后0<=>FALSE(准确查找),1<=>TRUE(模糊查找);

解释函数:

vloolup纵向查找匹配;

$S2为条件列;

$O$2:$Q$5为以条件列为首列的查找表格范围;

2为要找的结果列值;(当然,此处也可以为1);

PS:如果想多条件查找,=VLOOKUP(A1&A2&...&An,匹配目标范围,目标列号,0),即可实现vlookup多条件查找。

方法二:

AC2公式=INDEX($X$2:$Z$5,MATCH($AB2,$Y$2:$Y$5,FALSE),1)

AD2公式=INDEX($X$2:$Z$5,MATCH($AB2,$Y$2:$Y$5,FALSE),3)

解释函数:

index(目标匹配表,行号,列号)=输出值

match(给定值,给定值属于目标匹配表中的列值区域强调必须是单列or单行区域,FALSE)=输出行号

 

7、【多条件搜索】 -vlookup  &  index-match

U2处公式=VLOOKUP($S2&$T2,IF({1,0},$O$2:$O$5&$P$2:$P$5,$Q$2:$Q$5),2,0),此公式为数组函数,输完公式后按下ctrl+shift+enter键计算结果。

解释函数:

$S2&$T2,是查找条件;

IF({1,0},$O$2:$O$5&$P$2:$P$5,$Q$2:$Q$5)#{1,0}数组,1-真,输出$O$2:$O$5&$P$2:$P$5,跟VLOOKUP查找条件匹配(VLOOKUP-实现第一步功能-定位条件),2-假,输出$Q$2:$Q$5,跟VLOOKUP,的2相匹配(VLOOKUP-实现第二步功能-输出)

AF2处公式=INDEX($Q$2:$Q$5,MATCH(AD2&AE2,$O$2:$O$5&$P$2:$P$5,0)),输完公式后按下ctrl+shift+enter键计算结果。

解释函数:

$Q$2:$Q$5,是INDEX的查找区域;

MATCH(AD2&AE2,$O$2:$O$5&$P$2:$P$5,0),是多条件(查找值)所在的行号;

AD2&AE2,是MATCH的多条件(即查找值);

$O$2:$O$5&$P$2:$P$5,是MATCH的多条件在匹配表中的范围列(即查找区域);

PS:致敬:https://baijiahao.baidu.com/s?id=1624152147643628919&wfr=spider&for=pc

 

8、姓名列中同一个人求和金额列,得出总金额。

方法一:

P2处公式=SUMPRODUCT(($M$2:$M$20=$M2)*($N$2:$N$20))

解释函数:

引用:https://zhinan.sogou.com/guide/detail/?id=1610011625

PS:这个只是单条件求和,可以探索一下能否多条件求和;

 

方法二:

O2处公式=SUMIFS(N:N,M:M,M2)

 解释函数:

PS:可以多条件求和;

 

9、电话号码隐藏某几个数为*,起到保护信息作用;

方法一:

=SUBSTITUTE(AG2,MID(AG2,4,5),"*****")

解释函数:

MID(目标字符串,裁剪起始位置(包含),截取个数)

SUNSTITUTE(目标字符串,要替换的原字符串,要替换为的新字符串)

方法二:

=REPLACE(AG2,4,5,"*****")

解释函数:

REPLACE(目标字符串,替换起始位置(包含),要更新的新字符串)

 

10、选择性粘贴(粘贴公式为数值)自动化,不想手动;

参考:https://jingyan.baidu.com/article/20b68a88a8bf55796cec62a3.html

 

11、vlookup内部能不能用函数?(即内部嵌套函数)

 总结:只能说有,但不是所有,目前还没有找到规律(唯一的规律是内嵌函数结果值得是符合vlookup参数格式的),只能做经验积累了:

不可以的:

OR、AND、

可以的:

indirect、IF、index、column、row

eg1:内嵌套indirect函数辅助vlookup能获得目标区域 

#indirect()#返回由文本字符串所指定的引用

表中公式可以实现汇总多个工作表数据的功能(功能跟12项是属于相似类)

 eg2:内嵌套vlookup函数辅助主vlookup能获得查找值或者用index()、IF()获得查找值,都是可以的

 

参考:http://blog.sina.com.cn/s/blog_4c87bf980102y759.html

eg3:内嵌套column函数辅助vlookup获得序列数

=vlookup(A1,F:G,COLUMN(),0)  #COLUMN()返回此公式所在位置的列号

 

 

 

12、同个工作簿中,多个工作表中有格式一致的表格,做汇总透视合并信息

在工作簿中新建一个工作表-汇总表-》按Alt+D+P调出数据透视表和数据透视图向导-》选择“多重合并计算数据区域”,然后依次添加每个工作表想要的汇总的区域-》生成透视表,此时是计数,可以调节透视表数据的汇总方式(比如求和、平均值等)

参考:https://jingyan.baidu.com/article/8ebacdf009711549f65cd5e5.html

 

13、在整个工作簿中查找/替换

调范围为:工作簿,默认是工作表;

 

 14、转换单元格格式的函数或“方法”汇总

=value(单元格)  #转换为数值

=A1&""                   #转换A1为文本

 

posted @ 2019-04-20 09:35  马踏飞燕Beautiful  阅读(930)  评论(0编辑  收藏  举报