【问题标题】:Extract word within string in Excel row在 Excel 行中提取字符串中的单词
【发布时间】:2021-06-28 16:54:48
【问题描述】:

我正在尝试从一串文本中提取一些信息到它自己的字段中,并想知道是否有人可以提供帮助。听起来很简单,我可以让它按我的意愿工作,但是当文本的位置移动时,它就找不到了。我试过使用 Mid,left,right,但没有成功。

这是一个用作工作列表的基本电子表格,用于监控每个项目被发送到哪个国家/地区。或者,无论是不是使用快递派送的,都不需要注明。

希望我的照片能解释清楚,这张照片中的公式是:

=MID(LEFT(A1,FIND(")",A1)-1),FIND("(Shipped to ",A1)+12,LEN(A1))

我有一排文本显示了以下内容:

  • 职位(运送到英国)(邮资追踪编号 123456890)
  • 职位(运送到比利时)(邮资追踪编号 123456890
  • 职位(运送到奥地利)(邮资追踪编号 123456890)

我上面的代码会随心所欲地穿越这个国家。

.. 但经常,每一行都会翻转,所以显示如下:

  • 职位(邮资追踪编号 123456890)(运送到英国

.. 由于左/右/中定位而打乱了公式。

这是一个正在进行的电子表格,所以如果可能的话,我想使用一个公式。我知道我可以通过对错误条目运行第二个公式来解决问题,但我不想这样做。

最后,当不涉及运输时,它会生成一个值错误(因为它找不到任何字符串)。同样,我可以通过运行第二个公式来说明“不发货”,但并不理想。

有人有更好更简单的想法吗?附上照片供参考!

我只是想在“(运送到”之后和下面的“)”之后提取单词,而不管它在文本行中的相对位置。

非常感谢

照片:https://i.stack.imgur.com/HU6lB.png

【问题讨论】:

    标签: excel excel-formula substring


    【解决方案1】:
    =MID(MID(A1,FIND("SHIPPED TO",UPPER(A1),1)+11,25),1,FIND(")",MID(A1,FIND("SHIPPED TO",UPPER(A1),1)+11,25),1)-1)
    

    这需要一个 25 个字符的字符串切片并查看它。如果它位于字符串的末尾,则无关紧要。从那里开始,它将仅使用该切片进行进一步剖析。

    【讨论】:

    • 更新我的答案:)
    • 谢谢你,这有效。删除了我以前的 cmets,因为我意识到您正在积极编辑/更改内容,因为我也在回复。但这行得通,谢谢。我现在应该能够假设没有条目的任何内容(或错误的“#VALUE!”错误,意味着没有邮资。并为以前的条目查找/替换它。值得注意的是,有些行比其他行长很长的路要走,但它目前看起来正在发挥作用。
    • 很高兴为您提供帮助!将其包裹在IFERROR() 中,您将成为金色。如果“Shipped to”超过 25 个字符,则增加 25 个字符。无论您将其设为多大,都无关紧要。它仍然可以工作。
    • 谢谢,我这样做了 - 如果它有效,那就没关系,如果它出错,我已将其设置为“无邮资”。所以,是的,工作完美。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 2018-04-18
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多