Excel函数使用--中级段位
文本处理函数
1.截取字符串
(1)从左边开始截取,
left(“字符串”,截取长度)
,例如:截取左边3位,则为left("jkljsdf",3),结果为“jkl"
(2)从右边开始截取,
right(“字符串”,截取长度)
,例如:截取右边3位,则为right("jkljsdf",3),结果为“sdf"
(3)从中间开始截取,
mid(“字符串”,开始位置,截取长度)
,例如:从第2位开始截取3位,则为mid("jkljsdf",2,3),结果为“klj"
特别注意:此处的位置序号是从1开始的,与程序中的数组、字符串位置序号不一样
2.获取字符串长度,字符串的字节长度
(1)字符串长度
len(字符串)
,例如:len("十分大方水电费"),结果为7,如果字符串有空格,则一个空格算一个长度
(2)字符串的字节长度
lenb(字符串)
,例如:lenb("十分大方水电费"),结果为14,注意:一个汉字占2个字节,一个英文字母或数字或符号或空格占1个字节,例如,lenb("abc")结果为 3,lenb(“1233”)结果为4,lenb(“ ”)结果为1
,
len(“字符串”)和lenb(“字符串”)可以用来判断汉字的个数,具体操作为:lenb(“字符串”)-len(“字符串”),这两个的差值其实就是汉字的个数,因为1个汉字占2个字节,英文及数字或符号占1个字节
3.查找字符串
(1)find(“要查找的目标字符串”,“被查找的母体字符串”,[开始位置,可省略]),返回值为开始字母的位置序号
find(“要查找的目标字符串”,“被查找的母体字符串”,[开始位置,可省略]),例如:find("Bc","AsdffBcdd"),结果为6
(2)search(“要查找的目标字符串”,“被查找的母体字符串”,[开始位置,可省略]),返回值为开始字母的位置序号
search(“要查找的目标字符串”,“被查找的母体字符串”,[开始位置,可省略]),例如:search("bc","AsdffBcdd"),结果为6
特别注意:两者的区别:find()是区分大小写的,对大小写有严格要求,而search()对大小写不敏感,不区分大小写
4.日期相关公式
(1)生成日期 date(年份,月份,日),例如DATE(2023,4,2),则结果为 2023/4/2
(2)将日期字符串转换为日期序列号 datevalue("日期字符串"),DATEVALUE("1996-02-02"),则结果为35097
(3)日期格式化,将日期序列号格式化 ,=TEXT(35097,"yyyymmdd"),则结果为字符串19960205
5.判断是否为奇偶数 isodd(数字),结果为true,则为奇数,false则为偶数
=ISODD(0),结果为 false,=ISODD(3)结果为true
6.统计字符串数量
countif(选定区域,条件),条件可以为数字、表达式或文本。例如,条件可以表示为 32、"32"、">32" 或 "apples"
SUMPRODUCT(array1,array2,array3, ...),在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。Array1,array2,array3, ... 为 2 到 30 个数组,其相应元素需要进行相乘并求和。
7.日期函数
EDATE(start_date, months) ,用于计算相隔几个月后或几个月前的日期
Start_date 一个日期值,代表开始日期。months 为相隔的月份数,可正可负;为负值将生成过去日期。
例如:edate(2024/4/3,3),返回值为 2024/7/3
EOMONTH(start_date, months) 用于计算与指定日期相隔几个月的日期所在的那个月的最后一天,months可正可负,正代表将来,负代表过去
例如:eomonth(2024/4/3,3),返回值为 2024/1/31
today(),now()两个函数用于获取当前时间,注意:today()只返回年月日,而now()返回年月日时分秒
weekday(日期,周期类型参数),用于返回当前日期为周几
weeknum(日期,周期类型参数),用于返回当前日期所在周为一年中的第几周
DATEDIF(小日期,大日期,"相差的时间的单位"),用于计算两个日期之间相差的天数、月数或年数
特别注意: --"日期字符串"可以转化为日期,例如: --"2024/11/5"即可以转换为日期 2024年11月5日
8. 多条件函数
countifs(计算单元格的区域1,计算条件1,计算单元格的区域2,计算条件2...............计算单元格的区域n,计算条件n),用于计算区域中满足多个给定条件的单元格个数