Excel 帮助-从单元格中间提取信息

Excel 帮助-从单元格中间提取信息

是否可以将单词“each”、“Any 2 for”、“kg”等从这些单元格中取出并放入另一个单元格中...只留下$x.xx价格,以便进行排序。

以上示例如下:

1)  $10.99 kg
2)  $16.00 each
3)  Any 2 for $32.019

问题的第二部分是,如果第一个解决方案不适用于这种情况 - 我可以提取$x.xx以下示例中“保存”一词后面的值:

4)  $11.00 each Save $3.00
5)  $2.87 each 20% off, Save $0.72 $1.15 per 100ml

如您能提供任何帮助,我们将不胜感激。

答案1

“把它们放进另一个单元格...只留下 $x.xx 的价格”

您无法使用标准公式更改 Excel 中的原始单元格,您能做的是将价格提取到新的单元格/列中。

提取第一个$..
=MID(A1,FIND("$",A1),FIND(" ",A1,FIND("$",A1))-FIND("$",A1))
此函数查找第一个$并从中提取文本,直到下一个空格

提取后面的数字Save
=MID(A5,FIND("Save",A5)+5,IFERROR(FIND(" ",A5,FIND("Save",A5)+5),LEN(A5)+1)-(FIND("Save",A5)+5))
它的工作原理类似,但它首先找到Save

在此处输入图片描述

$此解决方案仅当价格以/开头Save并以空格或字符串结尾结尾时才有效,因此如果数字后面有逗号,则此解决方案将不起作用。如果您想要比 Excel 的免费正则表达式插件更通用的解决方案,这些插件可提供 regEx 查找工作表函数。那将是您的最终解决方案。

答案2

尝试这个公式:

=MID(A1,SEARCH("$",A1,IF(ISNUMBER(SEARCH("Save",A1)),SEARCH("Save",A1),1)),SEARCH(" ",A1&" ",SEARCH("$",A1))-SEARCH("$",A1))

注意:仅当值前面有“$”时才有效

相关内容