編輯:

編輯:

我们有一个文本单元格总是说

“部分商品###.##澳元abcdefg”

因此我们始终知道字符串中有“澳元”。但数字可以非常小,如 .01,也可以非常大,如 1,000.33

我们如何以最简单的方式提取带有小数的完整数字?

答案1

看来你只对“澳元”前面的“单词”感兴趣。我们可以提取字符串的最后一个单词使用:

=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))

因此我们只需要将其与一个LEFT函数结合起来,因为根据您的解释,我们需要的“最后一个”单词始终位于“澳元”前面。与 som 结合,TRIM结果如下:

=TRIM(RIGHT(SUBSTITUTE(TRIM(LEFT(A1,SEARCH("australian dollars",A1)-1))," ",REPT(" ",100)),100))

在混合类型字符串的示例中,我们得到:

在此处输入图片描述


另一个选择是研究 Power Query。但是当我尝试它时,它确实需要相当多的步骤,所以我认为最快的方法是使用公式。

答案2

当数字后跟文本字符串时,您可以尝试此操作:

在此处输入图片描述

  • 单元格中的公式B2,填写完毕。

     =LEFT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9","0"},""))))
    

注意:此方法可处理数字后的任意长度的字符。

編輯:

如果单元格中的数字被文本字符串包裹,则可以使用以下公式。

在此处输入图片描述

  • 单元格中的公式I45

     =LOOKUP(9.9E+307,--LEFT(MID(H45,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $H45&"1023456789")),999),ROW(INDIRECT("1:999"))))
    

在哪里,

  • LOOKUP(9.9E+307,找到最大值。
  • INDIRECT创建引用,即使插入或删除单元格中的值也不会改变。

注意:此方法可处理数字前后任意长度的字符。

根据需要调整公式中的单元格引用。

答案3

如果“澳元”这个短语没有改变,你可以使用下面的公式

B2= Value(Left(A1,Len(A1)-19))

B2根据需要格式化单元格

相关内容