案例
今天工作中遇到一个场景,需要获取excel某一列中的第二个斜杠之前的文本内容,该列(A列)的格式是:
(A列)地区 | (B列)城市 |
---|---|
广东省/深圳市/福田区 | |
江西省/南昌市/青山湖区 | |
湖北省/武汉市/青山区 | |
黑龙江省/齐齐哈尔市/龙沙区 | |
四川省/成都市/武侯区 | |
湖南省/长沙市/芙蓉区 | |
.... |
现需要在B列中获取A列中的省份和城市信息。
案例解析及答案
经过分析,省份和城市都在第二个斜杠之前,先排查出第二个斜杠的位置,再使用left函数即可 。
- 步骤1 :获取第二个斜杠所在位置,可使用FIND函数,嵌套SUBSTITUTE函数实现。
首先利用SUBSTITUTE函数将字符串中要查找的指定字符第二次出现时的字符替代成特殊字符(本例中采用”@“),然后利用FIND函数查找”@“出现的位置,即为原来字符串中指定字符第二次出现的位置。
=FIND("@",SUBSTITUTE(A1,"/","@",2))
- 步骤2:通过left函数,获取第二个斜杠位置之前的内容
=LEFT(A1,FIND("@",SUBSTITUTE(A1,"/","@",2))-1)
在B1单元格输入以上公式,然后回车,再下拉即可。
函数功能解析:
(1)SUBSTITUTE函数
函数功能:将某字符串中在指定位置出现的指定字符替换成自定义的字符。
语法:SUBSTITUTE(text,old_text,new_text,instance_num)
text 是需要替换其中字符的文本,或是含有文本的单元格引用;
old_text 是需要替换的旧文本;
new_text 用于替换old_text 的文本;
instance_num 为一数值,用来指定以new_text 替换第几次出现的old_text;如果指定了instance_num,则只有满足要求的old_text 被替换;否则将用new_text 替换Text 中出现的所有old_text。
(2)FIND函数
函数功能:查找指定字符在字符串中出现的位置。
语法: FINDB(find_text,within_text,start_num)Find_text 是要查找的文本。Within_text 是包含要查找文本的文本。Start_num 指定开始进行查找的字符。within_text 中的首字符是编号为 1 的字符。如果忽略 start_num,则假设其为 1。
(3)LEFT函数
函数功能:从文本字符串的第一个字符开始返回指定个数的字符。
LEFT(text,num_chars)
Text 是包含要提取字符的文本字符串。
Num_chars 指定要由 LEFT 提取的字符数。Num_chars 必须大于或等于零。如果 num_chars 大于文本长度,则 LEFT 返回所有文本。如果省略 num_chars,则假定其值为 1。
版权声明:本站部分文章为原创,部分内容来自网络转载,如有任何问题,可联系本站本站管理员邮箱!
本文链接:http://www.juqingne.com/article/13/