mid函数嵌套find函数,取出地址中的省份名称

想不到最后一个月还小忙了一把,现在可以继续更新博客了^_^

今天要说的是,给你一列地址,如何使用函数嵌套将地址所属的省份取出。

这个问题是看着简单做起来难,但是做完后又发现一点也不难。

mid函数

在开始之前还是先讲讲函数,之前已经说过了find函数,这一章就先讲mid函数。

三个参数:

字符串就是mid函数的作用对象

开始位置指从这串字符中的第几个位置开始取字符

字符个数指我们指定的要取几个字符。

函数解释:在a4单元格的第7个位置取3个字符,在这里也就是“777”了

取出地址中的省份

那么我先让ai随机生成点地址作为示例:

先来百度一下看看中国的省份分布:

可以看到,最常见的就是xx省这种形式。这种直接来个left函数就可以提取,但是有些像黑龙江省,就是xxx省的形式。而自治区也是有各自的长度。

想要使用一个函数就搞定,还是需要先分类讨论。这样才能使用if函数嵌套。

1.首先是特别行政区,就香港和澳门了。

2.然后是四大直辖市,这种可使用left函数提取

3.省的话需要考虑一个黑龙江省,因为它是四个字,其他像浙江省和台湾省都是三个字

4.最后是自治区,长度各不相同。

虽然省和自治区长度会有所不同,但是都存在“省”和“自治区”这样的字样,这样就可以方便我们定位。

接下来开始重头戏,写函数了。

第一种:

要判断地址是不是两个特别行政区,就看他第三个字符是不是“特”这个字,如果是的话就返回前两个字符--也就是香港或者是澳门,如果不是就不用管。

第二种:

跟上面一样,只要字符的第三个字是“市”这个字,这个就是直辖市了。然后就把前三个字取出来,就是结果了。

第三种:

这种稍微复杂点,意思就是说字符串中出现了“省”这个字,就把xx省取出来。

这一部分的意思就是上一章说的,如果存在“省”这个字就执行假值,如果不存在“省”这个字就执行真值。

真值就是说不存在省了,那就不用管

现在来说说假值。

这个if函数的假值中的写法完全就是为了黑龙江省,因为其他都是三个字,直接取就行。但是黑龙江省是四个字,所以需要定位。这个函数的意思就是在字符串中从第一个字符开始取,取到第几个结束呢,那不就是“省”这个字的位置吗^_^

省字的位置就是mid函数中需要取的字符的长度。

第四种就是自治区

按理来说这种也应该先用if和iferror以及find函数嵌套一下来判断“自治区”这三个字是否在这一串字符中,但是如果前三种情况都已经过完了,那么最后一种情况不就是自治区了吗

正如福尔摩斯里的一句话:

“当你排除一切不可能的情况,剩下的,不管多难以置信,那都是事实”

那么取xxx自治区也是跟取xx省一样的

这个函数的意思就是从a12单元格的第一个字符开始取

取到哪里结束呢?

首先需要使用find函数来定位“自”这个字的位置,然后因为我们需要取出的是“xx自治区”,所以需要加2这样使用mid函数就是取到xxxx自治区了。

最后把这四个情况使用if函数的嵌套中的嵌套来区分。

是不是看着很头大O(∩_∩)O哈哈~

先来看下效果:

精准无误

最后的函数就是在if函数中嵌套if,这样就可以把四种情况表示出来。

需要注意的是后面的iferror嵌套,如果存在“省”就执行假值把省取出来,如果不存在就执行真值把xxx自治区取出来。

整改函数说白了其实就是第一if函数先判断第三个字是否为特,是的话就取出前两位,不是的话就执行假值。

第一个假值又是一个if函数,在这个if函数中先判断第三个字是否为市,是的话就取出前三位,不是的话就执行假值。

最后一个if函数嵌套了iferror,就是为了判断是否存在省这个字,如果存在就执行假值将省取出来,如果不存在就执行真值把xxx自治区取出来。

也就是说前三种情况--特别行政区、直辖市和省都不是的情况,剩下的一种就是自治区了,也就可以直接取。

  • 26
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值