使用MID,LEN和FIND函数来提取单元格文本的某些部分?

时间:2017-03-23 18:46:50

标签: excel function

我有一个Excel任务,我被困在最后一部分。我被要求使用MID,LEN和FIND来提取单元格中的特定字符串。我很清楚每个人如何单独工作;结合所有三个并使它们发挥作用是我遇到的问题。

我需要将城市与地址的其余部分分开,然后将其显示在单独的单元格中。我需要从B列获取数据并仅在G列中显示城市。这就是我的工作表和公式:

公式: = MID(B3,FIND(“,”,B3)+1,15)

Worksheet

Worksheet with formula

我有点自己的城市。但是,正如你所看到的,仍然有一个空间,状态仍在显示。我不知道如何使用LEN与MID和FIND来摆脱状态标识符。

2 个答案:

答案 0 :(得分:3)

是的,你打败了我。

=MID(B1,FIND(",",B1)+2,LEN(B1)-FIND(",",B1)-4)

使用此功能,您不需要修剪。

找到逗号,在其后面开始2个字符(忽略逗号和空格)。

然后,获取字符串的长度 - 逗号的起始位置和结尾处的字符。

答案 1 :(得分:2)

由于您知道如何查找城市,并想要删除其后的文本,因此您可以将LenFind结合使用:

=MID(A1,FIND(",",B3)+1,LEN(B3)-FIND(",",B3)-3)

找到Len(B3)-Find(...)-3后,

,将是要返回的字符数。在您的第一个示例中,这将是24-15-3 = 6。所以它将返回空间,然后是“米兰”

然后,只需将Trim()包裹在所有内容中即可删除任何前导和/或尾随空格。

只是为了好玩,如果你有超过NM(或两个字母的缩写),你可以使用它:

=MID(SUBSTITUTE(B3," ",";",4),SEARCH(",",SUBSTITUTE(B3," ",";",4))+1,SEARCH(";",SUBSTITUTE(B3," ",";",4))-1-SEARCH(",",SUBSTITUTE(B3," ",";",4)))

所以,如果您有1880 Atkins Rd, Milan New Mexico,它仍会返回Milan