小编car*_*oll的帖子

如果数字落在给定范围内,则从复杂字符串中提取数字

我需要一个 Excel 公式(或 VBA 宏),它可以让我从字符串中提取一个值。字符串是单个单元格中由空格分隔的单词序列。我想要这个词(代表自行车尺寸)是

  • 一个介于 47 和 60(或其他范围,可能会动态指定)之间的数字(大概是一个整数,但未指定),或
  • 字符串“sm”、“med”或“lg”之一。

我希望字符串中只有一个限定词,因此任何合理的错误处理响应

  • 没有限定词,或
  • 多个限定词

会被接受。大小可能位于字符串中的不同位置。例子:

Cervelo车队P2 105 5800 56 '15                        56是所希望的结果
Cervelo车队P2 105 54 6000 '15                        54是所希望的结果
Cervelo车队P3 105 5800 60 '15                        60是所希望的结果
Cervelo车队P2 105 5800 SM '15                        的字符串sm是所需的结果

我只对整个单词感兴趣,所以 58(“5800”的子字符串)不符合条件。

现在我正在剥离'15然后提取最后两位数字。但是这种方法只有在自行车尺寸是倒数第二个值时才有效。但是,如上所示,存在大小在字符串中的其他位置的情况。

如何使用 Excel 中的公式或 VBA 宏执行此操作?

vba worksheet-function microsoft-excel microsoft-excel-2013

4
推荐指数
1
解决办法
271
查看次数