Excel 从文本字符串中提取分数值的公式?
我的公司有很多通过文本字符串指定的奇数大小,我们有一个电子表格,目前没有一个计算来剥离这些大小,以便在第二列(使用原始数值)中使用。下面是示例字符串: 24 1/2 x 23 1/4 x 1-精确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”的左侧,因为它总是跟随一个维度值。有人能帮
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()看起来很有趣。性感!现在,我可以将这两种计算都放在最小/最大公式中,以确定大尺寸、小尺寸。