【问题标题】:Extract text one word to the right of delimited value within string提取字符串中分隔值右侧的一个单词
【发布时间】:2015-09-19 03:15:06
【问题描述】:

我尝试了许多公式,但似乎无法使用 RIGHT、LEFT 和 MID 函数计算出来。使用 MS Excel,我想在我的分隔符值^ 右侧只提取一个单词(两个空格)。

示例:单元格 A2

约翰尼和我本来打算去看电影看《蝙蝠侠归来》,但为时已晚。

结果:单元格 B2

^蝙蝠侠归来,

【问题讨论】:

标签: excel excel-formula extract delimiter


【解决方案1】:

给你:

=MID(A2,FIND("^",A2),FIND("¦",SUBSTITUTE(MID(A2,FIND("^",A2),99)," ","¦",2)))

只需更改末尾的“2”即可将捕获的空格调整到分隔符的右侧。

【讨论】:

  • 大家好,谢谢大家,我已经尝试了每个论坛,并且在捕获分隔值右侧的数据方面都表现出色。最后,是否可以使用相同的主体但在分隔符的左侧完成完全相同的操作?
【解决方案2】:

用SUBSTITUTE 和REPT functions 扩大空间,然后用MID 切出一块,最后用TRIM function 清理它。

=TRIM(MID(SUBSTITUTE(A2, " ", REPT(" ", 99)), FIND("^", SUBSTITUTE(A2, " ", REPT(" ", 99))), 199))

      

【讨论】:

  • 吉普车!!!太棒了...它起作用了,我想知道有没有办法增加或交换空间范围。例如,我想在分隔符右侧捕获 3 或 4 个空格的文本?
  • 如果 199 基于 99 空间扩展收集两个单词,那么将 199 更改为 399 可能会检索四个字。请注意,由于每个单词的长度不是恒定的,迟早您可能会遇到问题,即 99 个空格不足以使用 999 可靠地检索 10 个单词。在这种情况下,将所有 99 更改为 999,将 199 更改为 1999。
【解决方案3】:

使用您的示例,可以使用以下公式:

MID(A1;FIND("^";A1);FIND(" ";A1;FIND(" ";A1;FIND("^";A1))+1)-FIND("^";A1))

A1 是您保存文本的单元格,将检查该文本以提取您感兴趣的部分。

公式查找^字符的索引

FIND("^";A1)

然后从那个^字符索引中寻找第二个空格的索引

FIND(" ";A1;FIND(" ";A1;FIND("^";A1))+1)

使用此第二个索引减去第一个索引以获取从 ^ 字符到之后的第二个空格的一段文本长度

       second index            first index
FIND(" ";A1;FIND("^";A1))+1) - FIND("^";A1)

最后使用 MID 公式检索所需的文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2019-02-28
    • 2015-01-29
    • 1970-01-01
    • 2016-09-25
    相关资源
    最近更新 更多