【问题标题】:Extract number between specific symbols in Excel提取Excel中特定符号之间的数字
【发布时间】:2020-09-02 08:41:05
【问题描述】:

我需要帮助如何提取此字符串中的数字:
test-343-image(1)(Pic2).jpg
我需要"(Pic" 之后和").jpg" 之前的第二个数字,即 2。
提前致谢!

【问题讨论】:

  • 您从中提取数字的字符串是否总是遵循相同的模式?换句话说......要拉的数字总是在(Pic).jpg之间吗?
  • “(Pic”之前的图案可以是不同种类的数字、字母或符号,但“(Pic”和“).jpg”之间的图案总是相同的,并且总是有一个数字。数字在 1 到 9 之间。

标签: excel extract


【解决方案1】:

可能有多种方式,例如:

B1中的公式:

=SUBSTITUTE(MID(A1,FIND("(Pic",A1)+4,99),").jpg","")

如果你的数字只能在 1-9 之间,那么以下就足够了:

=MID(A1,FIND("(Pic",A1)+4,1)

或者:

=LEFT(RIGHT(A1,6),1)

【讨论】:

  • 同时我又找到了一个固定大小的解决方案,因为我知道如果你开始计数,它总是从右侧开始的第 6 个字符。 =LEFT(RIGHT(B1;FIND("(Pic";B1)-6);1) 但是你能解释一下“4,99”是什么意思吗?
  • 只有在数字不是固定大小时才有用。 4 是用于(Pic 的字符数,那么 99 只是一种安全提取字符串其余部分的方法。如果您不确定它的作用,最好使用Evaluate。 @mnves