搜索
写经验 领红包
 > 社会

如何使用函数实现拆分与提取数据的方法(怎么用函数拆分数据)

导语:如何使用函数实现拆分与提取数据?

数据处理过程中,有时候我们需要从数据列中提取出自己想要的值,作为新的列去使用,我们来看看通过函数如何实现拆分与提取数据吧~

场景一:使用文本函数提取数据

需求1:提取订单编号中的前缀、中间、后缀部分。

分析:订单编号非常规律,前缀是6位,中间是9位-后缀是4位,可以直接使用对应的文本截取函数进行提取数据。

公式:

前缀:=LEFT(A3,6)

中间:=MID(A3,8,9)

后缀:=RIGHT(A3,4)

文本截取函数

含义

LEFT(文本,截取个数)

左截取:从文本左边截取对应个数的内容

MID(文本,开始截取的位置,截取个数)

中间截取:从文本指定位置截取对应个数的内容

RIGHT(文本,截取个数)

右截取:从文本左边截取对应个数的内容

进阶需求:订单编号中的前缀、中间、后缀的长度不一致

公式:

前缀:=LEFT(A3,FIND(,A3)-1) —使用LEFT左截取,截取个数根据第一个“-”的位置确定。

中间:=MID(A3,FIND(,A3)+1,FIND(,A3,FIND(,A3)+1)-FIND(,A3)-1) —使用MID中间截取,截取开始的位置根据第一个“-”的位置确定,截取的个数根据第二个“-”的位置减去第一个“-”的位置的差值确定。

后缀:=MID(A3,FIND(,A3,FIND(,A3,FIND(,A3)+1))+1,10)—使用MID中间截取,

截取开始的位置,通过第2个“-”的位置来确定,通过FIND查找,查的开始位置为第一个“-”的位置加1

截取个数的数值可以写大点,超过了就已有的个数会按照已有个数取。

文本查找函数

含义

FIND/SEARCH(要查的文本, 被查的文本, 查的开始位置)

要查文本在被查的文本的第一个位置(找不到返回 34;省省区&VALUE!错误,我们通过ISNUMBER,将其变成TRUE或者FALSE。

城市:=MID(A3,FIND(IF(ISNUMBER(FIND(,A3)),,),A3)+1,FIND(,A3)-FIND(IF(ISNUMBER(FIND(,A3)),,),A3))

直接使用MID中间截取,截取的位置通过市或者区的位置来确定,截取的个数根据“市”的位置减去市或者区的位置来确定。

详细地址:=MID(A3,FIND(,A3)+1,99)

直接使用MID中间截取,截取的位置通过找“市”的位置

需求4:提取指定的字符最后一次出现后的数据

提取文本中第二列指定字符最后一次出现后的数据

方法一:将最后一个指定的字符替换成一个很大的字符(々),然后通过MID中间截取,截取开始的位置就是“々”的位置,截取个数可以写大点即可

最主要的是如何只替换最后一个指定字符将其变成(々)

将所有的指定字符替换为空,总长度-替换后的字符=查找字符的个数,个数正好是最后一个指定的字符。

=MID(A3,FIND(,SUBSTITUTE(A3,B3,,LEN(A3)-LEN(SUBSTITUTE(A3,B3,))))+1,99)

方法二:将所有的指定字符替换为99(很多)个空格,然后右截取一个比较大的字符(包括想要提取的数据),然后进行清洗,去掉空格即可

=TRIM(RIGHT(SUBSTITUTE(A3,B3,REPT(,90)),90))

函数

含义

SUBSTITUTE(文本,被替换的字符,新的字符, 替换第几个)

对指定的字符进行替换

REPT(文本,重复的次数)

将文本重复一定的次数

TRIM(文本)

除了单词之间的单个空格外,清除文本中所有的空格

需求5:提取不规范日期格式中的年月日

这个比较简单,就不多说了

场景二:使用日期函数提取数据

需求1:从规范的日期分别提取对应的数据

公式

函数

含义

=YEAR(A3)

YEAR(日期)

返回日期的年份值

=MONTH(A3)

MONTH(日期)

返回日期的月份值

=DAY(A3)

DAY(日期)

返回一个月中的第几天的数值(1-31)

小时

=HOUR(A3)

HOUR(日期)

返回一个时间值中的小时数

分钟

=MINUTE(A3)

MINTUTE(日期)

返回一个时间值中的分钟数

=SECOND(A3)

SECOND(日期)

返回一个时间值中的秒数

星期几

=WEEKDAY(A3,2)

WEEKDAY(日期,周期类型)

返回日期在一周的第几天(以第二参数确定周期)

日期

=DATE(YEAR(A3),MONTH(A3),DAY(A3))

DATE(年,月,日)

返回指定的日期

月末

=EOMONTH(A3,0)

EOMONTH(日期,日期之前或之后的月份数)

返回指定日期之前或之后某个月的最后一天的日期(月底)(Months为0则当前月份)

文章虽然是实现数据的拆分与提取,但是其中基本上将常用的文本和日期函数说的差不多了,而且除了使用函数之外,一些技巧也能实现数据的拆分,比如快速填充(CTRL+E)和分列,分列大家可以看这个文章Excel中强大的分列功能,常见用法你了解吗?。之前文章也讲解过如何拆分工作表(将工作表按照某个字段拆分成多个工作表),大家可以也看做数据的拆分与提取。大家有什么问题,欢迎在评论区留言~

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小春创作整理编辑!