Excel如何提取单元格内容中空格的前后两部分

运用连字符“&”可以合并字符串,但是要拆分字符串多少有点复杂。例如,像下面这样用半角空格隔开姓氏和名字的情况下,怎样才能把姓氏和名字分别提取到不同单元格中呢?

姓氏与名字以半角空格隔开的数据

这种情况下,如有半角空格等形式的“分隔文字”(将空格视为1个字符),其实也能做到把空格前后的数据提取到不同单元格中。我们来看一下操作顺序。

➊ 提取姓氏

首先提取姓氏数据。提取单元格中的姓氏就是说“从左开始提取多少单元格内的字符串中的字符”,这里要用到 LEFT 函数。问题在于如何提取指定的字符数。

这里,我们需要知道“分隔文字是第几个字”。例如,单元格 A2中的“吉田拳”,其分隔文字是半角空格,是第3个字符。接下来,用3减去1可以得出2,也就是说从左开始抽取2个字符即可得到姓氏。换句话说就是这样:

“分隔文字为第几个字符,用这一数字减去1所得到的数字,就是需要从字符串左边开始提取的字符数。”

公式如下:

=LEFT(A2,FIND(” “,A2)-1)

接下来,要注意如何在第二参数中使用 FIND 函数。这是用于定位指定文字在单元格内的位置的函数。

并且,这样连续输入两个引号(””)则表示“空白”,如果在双引号之间加入半角空格(” “),则表示“半角空格”。

将这一公式输入进单元格 B2,就可以在 B2中提取单元格 A2中的半角空格之前的字符,在这里就是姓氏数据。

在单元格 B2中输入=LEFT(A2,FIND(” “,A2)-1)

我们既然已经知道分隔文字的半角空格是第3个字符,那么要想提取姓氏,需要从字符串左侧开始应该提取的字符就是3减1,即两个。这样,就能够只提取出“吉田”这两个字,也就是位于字符串最左侧的两个字符。

➋ 提取名字

接下来,我们来提取名字。这次需要从右开始提取,所以要用到 RIGHT 函数。问题在于应该如何设定“从右侧开始提取的字符数”。我们可用下面的函数公式处理。

=RIGHT(A2,LEN(A2)-FIND(” “,A2))

在单元格 C2中输入=RIGHT(A2,LEN(A2)-FIND(” “,A2))

在 RIGHT 函数的第二参数中,使用 LEN 函数和 FIND 函数指定了需要提取的字符数。“用单元格 A2的字符数减去单元格 A2中半角空格所在第几个文字后得到的数字”,按照这样的方式进行计算。在这个例子中,单元格 A2的字符数是4(半角空格也算作1个字符)。

半角空格是第3个文字,所以4-3=1。在单元格 A2的右侧开始提取1个文字,即半角空格之后的字符,也就是提取出名字。

接下来,将公式复制到下面几行,就能进行同样处理了。

将公式复制到其他单元格

但是,这种处理方式,如果遇到没有空格的情况(此例中,姓氏与名字之间没有半角空格)就无法使用了。最初在输入数据时的操作会给后续的操作带来影响,因此需要谨慎考虑。原则上来说,最好的办法就是“尽量做细致划分”。后面可根据实际情况再行合并单元格或字符串。

Excel如何从住址中区分省市与下级地方行政区

那么,在前文的表格中,如何在 C 列中提取除都道府县外的市町村等级别的数据呢?

在这一点上,还是“思考方法”最为重要,并且“思考有什么更简便的方法”也很重要。

我们需要事先了解 Excel 具体有何种类型的函数。即便不清楚,也应该思考“使用什么函数可以完成这项处理”?

首先,想从住址中提取都道府县的话,使用 LEFT 函数确定“从左开始抽取多少文字”。另一方面,想提取出市町村的话,就要考虑“从右开始提取多少文字”,此时使用 RIGHT 函数。

接下来的处理需要用到能够“计算单元格内字符数”的函数。这时我们要用到 LEN 函数。LEN 就是 Length(长度)的意思。通过以下公式,得出单元格 A1中的字符数。

=LEN(A1)

了解这个函数后就会获得好的想法。

在前文的例子中,A 列中有地址数据,旁边的 B 列中只提取出都道府县的数据。在这个状态下,想要在 C 列中提取都道府县以下的行政区的数据,就需要思考在 A 列中需要从右数提取多少字符。答案如下:

“从地址栏的字符数中减去都道府县栏的字符数,从 A 列中数据的右侧开始提取。”

可以利用以下公式实现这一点。从单元格 A2内右侧开始,提取单元格 A2的字符数减去单元格 B2字符数的字符数。

=RIGHT(A2,LEN(A2)-LEN(B2))

将这个公式输入单元格 C2,一直复制到数据最后一行,就可提取出所有地址中都道府县以下的地方行政区的数据。

在单元格 C2中输入=RIGHT(A2,LEN(A2)-LEN(B2)),一直复制到单元格 C12

Excel只从住址中选出特定地名(县、市、省等)

“住址如果是以都道府县为开头的文本,现在需要把都道府县与下级地址数据分开”。

这种操作是拆分字符串的基础。从根本上来说,为避免后期进行这样的操作,应该在制作工作表时“就将都道府县放入单独的单元格中”。但是,如果在原工作表中已经是同时出现在一个单元格中的状态的话就必须要拆分单元格了。这时,我们需要掌握如何将都道府县的数据单独提取到其他单元格中。

想要解决这个问题,仅仅熟知 Excel 中的功能和函数是不够的,重点在于以独立思考出多种处理方法。

首先,我们来思考这一问题“日本的47个都道府县名是什么类型的数据呢?”大多为3个或4个文字吧。

其中,4个字的只有“和歌山县”、“神奈川县”、“鹿儿岛县”这3个县。四个字的县名,每个都搭着“县”字,剩余全部都是3个字。

明白这一点,就能按照以下逻辑,从住址单元格中提取出都道府县的数据了。

“如果住址单元格中的第4字为‘县’,只抽选左数4个字符;(第4字不是‘县’)否则,只抽选左数3个字符”。

以上逻辑若转换为 Excel 函数,就是下面的公式。

=IF(MID(A2,4,1)=”县”,LEFT(A2,4),LEFT(A2,3))

复制粘贴含有这一公式的单元格,就能做到提取所有单元格中的都道府县名。

在单元格 B2中输入=IF(MID(A2,4,1)=”县”,LEFT(A2,4),LEFT(A2,3)),一直复制到单元格 B12

“第4字符为‘县’”这一条件,就是”从地址单元格的4个字中只提取1个字符的结果即为‘县’”,可以使用 MID 函数实现这一点。根据这一逻辑的判定真伪结果不同,用 LEFT 函数改变提取的字符数,并用 IF 函数指定操作。

代表日期的8位数变为日期数据

这里,让我们来看一下如何运用这3个函数将表示日期的8位数值转换成日期数据。

我前一章中曾提到过用 Excel 处理日期数据时,需要像下面这样用“/”将年、月、日隔开。

2013/11/12

但是,有些公司也会用“20131112”这样的8位数值来表示日期。但是,这并不是常规的日期形式,只是一种数值,我们也无法运用该数值计算出天数或星期。因此,我们需要先将其转换成日期的数据形式(序列值)。

我们可以使用 DATE 函数制作序列值。比如,想要制作“2014/1/1”这个日期数据,首先按照下列方式,在第一参数中指定公历年,第二参数中指定月份,第三参数指定日期。

=DATE(2014,1,1)

那么,如何从单元格 A2的“20131112”中提取年、月、日的数值呢?请大家按照以下思路思考。

  • “年”的数值,提取单元格 A2“20131112”左数4个字符“2013”
  • “月”的数值,提取单元格 A2“20131112”第5个字开始的2个字符“11”
  • “日”的数值,提取单元格 A2“20131112”右数2个字符“12”

像这样,想要从目标单元格的数据中提取一部分文字,就要用到 LEFT 函数、MID 函数和 RIGHT 函数。

想要抽取单元格 A2左数第4个字符,需要在 B2中输入以下公式:

=LEFT(A2,4)

在单元格 B2中输入=LEFT(A2,4)

接下来导出月份数值。请按以下方式输入 MID 函数,在单元格 A2中从第5个字开始提取2个字符。

=MID(A2,5,2)

在单元格 C2中输入=MID(A2,5,2)

最后提取日期数值。为了返回单元格 A2右数2个字符,按以下公式输入 RIGHT 函数。

=RIGHT(A2,2)

在单元格 D2中输入=RIGHT(A2,2)

像这样,分别提取出年、月、日的数据后,再按照以下方式指定 DATE 函数的参数,我们就能够得到该日期的序列值。

在单元格 E2中输入=DATE(B2,C2,D2)

上述的操作步骤可通过以下公式在1个单元格中集中处理。

=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))

LEFT 函数、RIGHT 函数和 MID 函数能够从字符串的左数或右数的,以及从字符串中间开始只提取指定的字符数,是字符串处理的基础操作。灵活运用这些函数,可以自由应对不同的数据处理需求。

将单元格中的一部分字符串移至其他单元格内

Excel 的方便之处不仅限于统计数值这一项,字符串在迅速处理单元格内的内容时也发挥着强大的作用。这里,我向大家介绍一下在处理各种数据时必须掌握的字符串处理技巧。

首先,我们需要掌握如何把单元格内的字符串的一部分提取至其他单元格的函数。这里所谓的“一部分”,指的是譬如“左数几个字”“右数几个字”“中间几个字”这样的范围。其对应的函数为 LEFT 函数、RIGHT 函数和 MID 函数。

  • =LEFT(A1,3)➛抽取单元格 A1左数3个字符
  • =RIGHT(A1,4)➛抽取单元格 A1右数4个字符
  • =MID(A1,5,2)➛抽取单元格 A1第5个字开始的2个字符

LEFT 函数与 RIGHT 函数,第一参数指定单元格的左起或右起,第二参数指定只返回多少个字符。

MID 函数,第二参数指定开始提取的位置,第三参数指定抽取的字符数。

Excel如何从日期设置中导出星期

Excel 还可以从日期数据中得到当前日期为星期几。掌握这个方法后,在制作日历和行程表时会非常有效率。

Excel 中有个函数叫作 WEEKDAY 函数,其主要用途为返回某日期的星期数。但事实上,还存在一种比它更简单的函数——TEXT 函数。

例如,想要在单元格 B2中显示单元格 A2中的日期为星期几,我们可以在 B2中输入以下公式:

=TEXT(A2,”aaa”)

在单元格 B2中输入=TEXT(A2,”aaa”)

这时候,按照第二参数的指定方法,星期几的表示形式则变为:

  • “aaa”➛日
  • “aaaa”➛星期日
  • “ddd”➛Sun
  • “dddd”➛Sunday

Excel自动计算年龄

Excel 还有种函数,输入出生日期后,可以自动计算出年龄,它叫作 DATEDIF 函数。每天花几小时查看出生日期,如果发现当前日期是生日的话再手动将年龄数据加1……我见过不少会“永无止尽”重复如此操作的案例。在此提醒各位,只要掌握这个函数,就可以完全避免花费大量时间进行如此麻烦的操作。

DATEDIF 函数的结构如下:

【格式】

=DATEDIF(起始日期,结束日期,单位)

通过指定起始日期与结束日期,得出间隔的数据。

第三参数则根据想要如何表示间隔数据的单位,进行指定。

  • “Y”➛年
  • “M”➛月
  • “D”➛日

计算年龄数据时需要选择“年”来作为单位,因此需要按照以下方式输入(假定 B2为出生日期)。顺带一提,这个函数无法使用辅助输入功能,必须手动输入“=DATEDIF(”。

=DATEDIF(B2,TODAY(),”Y”)

在单元格 C2中输入=DATEDIF(B2,TODAY(),”Y”)

想要通过这种方法自动计算出年龄,将出生日期指定为起始日期后,通常会输入能够导出当前日期的 TODAY 函数作为结束日期。接着,从出生日期到今天为止所间隔的时间以年作单位来表示的话,需要在第三参数单位中输入“Y”。

想计算出准确的结果,需要准确无误地输入公历年的出生日期。如果不了解日期数据的基础,只输入月份和日期的话,那么年份则会变成当前年份,这样就无法计算出正确的年龄。所以,请一定记住“所有日期都要从公历年开始输入”。

用“×年×个月×日”表示年龄和间隔期间的数据

在实际的工作中经常会遇到“用“×年×个月×日”表示年龄和间隔期间”这样的事。想要完成此项操作,需要牢记如何导出除去年份后的从起始日期到结束日期的月份数(即×个月的部分),或者除去年份和月份的数值后的起始日期到结束日期的天数(即×日的部分)。

若想计算出“×个月”部分,将第三参数的单位代码指定为“YM”。

在单元格 D2中输入=DATEDIF(B2,TODAY(),”YM”),得到月份的数值

若想算出“×日”部分,将第三参数的单位代码指定为”MD”。

在单元格 E2中输入=DATEDIF(B2,TODAY(),”MD”),得到天数

这样,我们就能在不同的单元格中分别得出对应的数值。

顺带一提,想要在一个单元格里得出“×年×个月”的结果,可用“&”连结字符串等混合字段,从而实现组合输入数值与函数公式。

Excel如何导出除周末和节假日外的营业天数

想要计算除双休日和节假日外距某个截止日期的营业天数,可以使用 NETWORKDAYS 函数。在一般的工作中,这种计算营业天数的案例十分常见。

由于 Excel 本身并不配备节假日的相关数据,因此我们在前期需要另外准备节假日一览表。在此制作一个以“节假日表”命名的工作表,然后照着下表制作一张节假日一览表。可以在网络上搜索节假日数据表。

节假日一览表

在单元格 A2中输入交货日期,想要计算出除去周末和节假日外距离该交货日期的工作日还剩几天时,只要用“当前日期”减掉“除周末和节假日外的截止日期”即可,公式如下:

=NETWORKDAYS(TODAY(),A2,节假日表!A2:A195)

此函数的参数表示意义如下:

  • 第一参数:日期计算的开始日
  • 第二参数:日期计算的结束日
  • 第三参数:需要从日期计算过程中去掉含有节假日的范围

这种方式可以得出“距离今天为止还有多少工作日”的结果,所以开始日期中要填入 TODAY 函数。

第三参数用于指定节假日,在这一例子中实际指定为“节假日表”中含有节假日日期数据的单元格范围(即 A2:A195)。如果要把公司自己规定的休息天数考虑进去的话,可根据需要自行调整第三参数。

Exce随时查看距截止日期还有几天

在利用 Excel 管理客户档案时,最方便的莫过于能自动显示距离每位客户的生日、合同的更新日期还有几天这样的数据。如果想要在含有更新日期数据表格中的“剩余天数”一栏,实时计算出“距离更新日期还有几天……”,可以用“更新日期减去当前的日期”。

例如,按以下方式输入,就能导出截止到单元格 B2中的日期的剩余天数。

=B2-TODAY()

在单元格 C2中输入=B2-TODAY()

B2中的日期数据所对应序列值,与 TODAY 函数导出的当前日期的序列值,二者相减就会得出上述结果。“利用序列值来处理日期的相关计算”,希望诸位读者朋友能够从这个事例中掌握这个诀窍。

如何从日期数据中导出年、月、日

那么相反地,如果想从日期数据中提取出年、月、日的数据,需要用到 YEAR 函数、MONTH 函数、DAY 函数。例如,从单元格 A1中的日期数据分出年、月、日数据,可利用相应的函数按以下方式导出。

  • =YEAR(A1)➛A1的公历年
  • =MONTH(A1)➛A1的月份
  • =DAY(A1)➛A1的日期