Excel 从文本字符串中提取分数值的公式?

Excel 从文本字符串中提取分数值的公式?,excel,excel-2007,Excel,Excel 2007,我的公司有很多通过文本字符串指定的奇数大小,我们有一个电子表格,目前没有一个计算来剥离这些大小,以便在第二列(使用原始数值)中使用。下面是示例字符串: 24 1/2 x 23 1/4 x 1-精确 29 1/4 x 13 1/2 x 1-精确 19 x 35 x 1 等等。我有一个部分完整的公式来提取第一个X的前导值,但无法找到有效的方法来提取第二个值。我的初始公式(不幸的是,我丢失了)是使用Left、Mid和Search的组合,以便将值拉到第一个“x”的左侧,因为它总是跟随一个维度值。有人能帮

我的公司有很多通过文本字符串指定的奇数大小,我们有一个电子表格,目前没有一个计算来剥离这些大小,以便在第二列(使用原始数值)中使用。下面是示例字符串:

24 1/2 x 23 1/4 x 1-精确
29 1/4 x 13 1/2 x 1-精确
19 x 35 x 1

等等。我有一个部分完整的公式来提取第一个X的前导值,但无法找到有效的方法来提取第二个值。我的初始公式(不幸的是,我丢失了)是使用Left、Mid和Search的组合,以便将值拉到第一个“x”的左侧,因为它总是跟随一个维度值。有人能帮忙吗


编辑:我要找的是右边的两列,一列包含第一个度量值(示例一在B列中解析为24 1/2),另一列包含第二个度量值(示例一在C列中解析为23 1/4)。

将列复制到B列,将文本应用到副本中,并以
x
作为分隔符,然后删除右边的一栏。

对我来说,找到答案很容易。困难的部分是找出如何将它传递给你。将下表放入前两列。第3列将是公式的结果:

Names     Formulas                                        Results
String    29 1/4 x 13 1/2 x 1 - EXACT
1stX      =FIND("x",B1)                                   8
2ndX      =FIND("x",B1,B2+1)                              17
End       =IF(ISERR(FIND("-",B1)),LEN(B1),FIND("-",B1))   21
1st Arg   =LEFT(B1,B2-2)                                  29 1/4
2nd Arg   =MID(B1,B2+2,B3-B2-2)                           13 1/2
3rd Arg   =MID(B1,B3+2,B4-B3-2)                           1
一旦您熟悉了这些公式,就可以通过组合这些公式来节省空间,即将
B2
替换为
FIND(“x”,B1)
。您可以这样做,为每个参数只得出一个公式

此外,如果需要将分数转换为常规小数,请使用
Value()
将其转换为29 1/4到29.25。

编辑#1:

A1中输入文本,在B1中输入:

=TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
=TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",999)),COLUMNS($A:B)*999-998,999))
C1中输入:

=TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
=TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",999)),COLUMNS($A:B)*999-998,999))

请告诉我们您希望在第二栏和其他栏中看到什么。@Mike,我认为您的思路是对的。这可能可以通过标准Excel公式实现。告诉我,在你的例子中,是否总是有3个测量值?或者也会有类似“19 x 35”的东西,它只有2?总是3,但最后一个是不相关的。@pnuts,当我建立这些公式时,我把整个字符串值
29 1/4 x 13 1/2 x 1-精确的
。当我的公式提到B2时,它实际上指向1stX公式。B3是2ndX,B4是字符串中数值的结尾。这一点很好。昨天我的心情非常注重细节。我很喜欢加里学生的答案。它小得多。Columns()看起来很有趣。性感!现在,我可以将这两种计算都放在最小/最大公式中,以确定大尺寸、小尺寸。