从 Excel 单元格中的文本字符串中提取某些单词

从 Excel 单元格中的文本字符串中提取某些单词

我有一列单元格,里面填满了大量文本。每个单元格中我只需要一个单词。如果你仔细观察,你会发现每个单元格的后半部分都写着“高”、“中”或“低”。

在此处输入图片描述

我想在此列旁边创建一个列,从文本字符串中提取此词(高、中或低)。我最初的想法是根据位置进行提取,但这些词的位置各不相同。

答案1

这将返回正确的值:

=INDEX({"High","Medium","Low"},AGGREGATE(15,6,ROW($1:$3)/(ISNUMBER(SEARCH("*" & {"High";"Medium";"Low"} & "*",A1))),1))

它迭代可能的单词,并将不返回错误的单词以数字的形式返回到 INDEX。

在此处输入图片描述

答案2

我知道一个函数可以提取字符串中两个唯一字符的一部分。例如: -Medium-将是Medium

公式如下:

=MID(A3,SEARCH("-",A3)+1,SEARCH("-",A3,SEARCH("-",A3)+1)-SEARCH("-",A3)-1)

为了实现此功能,您需要按照下图所示转换文本以添加唯一字符(在本例中为破折号-)。您可以使用查找和替换功能执行此操作,CTRL+H如下所示:

  1. 选择包含要提取的文本的列。
  2. 按下CTRL+H组合键
  3. 找什么:Low
  4. 用。。。来代替:-Low-
  5. 点击Replace All按钮。
  6. Medium对和重复步骤 3 至 5 High

请参阅以下输出:

这里

我希望这有帮助。

答案3

这是一个使用通配符的简单方法。

在此处输入图片描述

B1中的公式:

=IF(COUNTIF(A1,"*Low*"),"Low",IF(COUNTIF(A1,"*Medium*"),"Medium",IF(COUNTIF(A1,"*High*"),"High","")))

它只是一些嵌套的 IF,用于检查每个术语是否包含在单元格中。我添加了一个额外的 IF 测试,以防可能存在不包含任何术语的记录(返回空白)。

相关内容