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 函数指定操作。