【问题标题】:Excel Formula to get text between last two commasExcel公式获取最后两个逗号之间的文本
【发布时间】:2012-06-13 17:45:01
【问题描述】:

我在单元格 A1 中有这些数据:

Majestic Properties Design District, LLC, Ste. 101, 35 NE 40TH ST, Miami, FL 33137

还有一些其他单元格具有这些格式地址,例如

Fortune International Realty Iriondo Ecker & Assoc. Inc., Ste 25, 260 Crandon Blvd, Key Biscayne, FL 33149

我想要的输出是

Miami
Key Biscayne

等等

为了获得我所做的 Zip 和 State

=RIGHT(A1,8)

但是现在我需要获取城市(即最后一个逗号之间的文本)。

我不想将 TEXT 用于 COLUMN 或任何 VBA。我想用一个公式。

【问题讨论】:

  • 不是编程问题。应该向超级用户询问

标签: excel


【解决方案1】:

这个公式也应该有效,不依赖于邮政编码的长度......

=TRIM(LEFT(RIGHT(SUBSTITUTE(A1,",",REPT(" ",100)),200),100))

【讨论】:

  • +1:不错的把戏。你依赖 LEN([Zip]&[State])
  • 修改条件:LEN([State Zip]&[Town/City])
  • 确实如此.....您始终可以使用 LEN(A1) 和 LEN(A1)*2 代替 100 和 200 .....
【解决方案2】:

也许是这样的:

=REPLACE(LEFT(A1,LEN(A1)-10),1,FIND("|",SUBSTITUTE(A1,",","|",LEN(A1)-LEN(SUBSTITUTE(A1,",",""))-1))+1,"")

【讨论】:

  • +1 很好,但这假设从最后一个逗号到结尾的字符串长度总是等于 10。如果不是(例如,如果缺少空格分隔符,FL 33149),则此公式将失败。
  • @Jean-FrançoisCorbett 是的,我假设字符串以逗号结尾,后跟一个空格,然后是 8 位邮政编码。如果有变化,他需要听从你的建议。
【解决方案3】:

您询问如何提取夹在单元格中第一个和第二个最右边逗号之间的文本。

从单元格的左侧开始计算字符的实例很容易。但是,在 Excel 中,从 开始计数是出了名的困难。计数越高,难度越大:通常,如果您想找到字符的 nth 实例,您需要键入的工作表公式的长度会呈指数增长,例如 4^n! (如果你想在一个公式中做到这一点。)

您可能想看看我之前对类似问题的回答。

这些答案展示了如何从右侧确定字符的 first 实例的位置(然后将整个文本提取到该字符的左侧或右侧)。您不仅需要找到, (n=2) 的第一个实例,还需要找到 第二个 实例,这样您的公式将比这些答案中的公式长 16 倍。同样,这是 if 你想在一个公式中做到这一点。

如果有一个包含中间结果的额外单元格是可以接受的,那么您可以这样做:

在 A6 单元格中:您的地址文本

在单元格 A7 中,我们删除右边的第一个逗号以及之后的所有文本:

=LEFT(A6,FIND(CHAR(1),
 SUBSTITUTE(A6,$A$3,CHAR(1),LEN(A6)-LEN(SUBSTITUTE(A6,$A$3,""))))-1)

在单元格 A8 中,我们只保留最右边的逗号之后的文本:

=TRIM(MID(A7,FIND(CHAR(1),
 SUBSTITUTE(A7,$A$3,CHAR(1),LEN(A7)-LEN(SUBSTITUTE(A7,$A$3,""))))+1,LEN(A7)))

请注意,我将, 分隔符存储在单元格A3 中,因此很容易更改。

完成。结果如下所示:

如果您必须只有 1 个公式且没有单元格具有中间结果,则在单元格 A8 的公式中,将 A7 的每个实例替换为 LEFT(A6,FIND(CHAR(1), SUBSTITUTE(A6,$A$3,CHAR(1),LEN(A6)-LEN(SUBSTITUTE(A6,$A$3,""))))-1)。我忘记了 Excel 中公式长度的限制...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多