【问题标题】:Use MID, LEN, and FIND functions to extract certain portions of a cells text?使用 MID、LEN 和 FIND 函数提取单元格文本的某些部分?
【发布时间】:2017-03-23 18:46:50
【问题描述】:

我有一个 Excel 作业,但我被困在最后一部分。我被要求使用 MID、LEN 和 FIND 来提取单元格中的特定字符串。我非常了解每个人如何单独工作;将这三者结合起来并让它们发挥作用是我遇到的问题。

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

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

Worksheet

Worksheet with formula

我对这座城市有点独立。但是,如您所见,仍有空间,状态仍在显示。我不确定如何将 LEN 与 MID 和 FIND 一起使用以摆脱状态标识符。

【问题讨论】:

    标签: excel function


    【解决方案1】:

    呃,你打败了我。

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

    使用这个,你就不需要修剪了。

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

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

    【讨论】:

    • 也谢谢你!
    【解决方案2】:

    既然你知道怎么找城市,又想剪掉后面的文字,你可以用Len结合Find:

    =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。

    【讨论】:

    • 所以你可以多次使用同一个函数?我不知道。我的导师为这门课挑选的那本书很糟糕,并没有尽可能地解释解决问题的方法。谢谢!
    • @McNasty49 - 你是什么意思“......多次使用相同的功能?” ...您可以在一个公式中多次使用相同的公式! (直到你在单元格中达到字符限制)。
    • 我的意思是xD公式,我同时在做Excel和Java。
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 2011-09-07
    • 2023-02-11
    • 2020-08-28
    • 1970-01-01
    相关资源
    最近更新 更多