2013-12-11 35 views
1

的我有一个包含下列值的列:从范围中减去2000的值

646-900 
634-645 
611-633 
589-610 
and so on 

欲第一扭转每行中的范围,然后从2000中减去的值,以便它现在变成

1100-1354 
1355-1366 
1367-1389 
1390-1411 

我该如何编写公式?

回答

2

您可以使用这样的事情:

=(2000-MID(A1,FIND("-",A1)+1,LEN(A1)))&"-"&(2000-LEFT(A1,FIND("-",A1)-1)) 

FIND("-",A1)得到-MIDLEFT功能的位置。使用-1+1可分别获得LEFT的情况下停止的位置和MID的情况下的停止位置。 MID获取文本的右侧部分,而LEFT获取文本的左侧部分。

从2000中减去结果并将所有内容连接回&

+0

运作良好。谢谢 – CuriousDev

1

您需要

  1. 解析在你的细胞中的文字,FIND()的位置“ - ”字符

  2. 提取范围的两侧,使用LEFT()RIGHT()功能。

  3. 变换为VALUE()范围的每一侧的返回的文本

  4. 从2000减去每个值

  5. 最后串接在恢复顺序的结果与&操作者(记得要插入一个“ -“ 它们之间)。

+1

= 2000-MID(A1,FIND( “ - ”,A1)1100) “ - ” &2000-LEFT( A1,FIND(“ - ”,A1)-1) –

+3

我知道,谢谢。试图激励OP自己尝试。 –

+0

+1为动机 – CuriousDev

2

稍微不同的方法来做到这一点。如果你的2000价值可能会改变把它在另一个单元格,并像这样引用它:(把公式中的C2和向下拖动,把2000年在C1)

=($C$1-RIGHT(A2,LEN(A2)-FIND("-",A2))) & "-" & $C$1-LEFT(A2,FIND("-",A2)-1) 

enter image description here

1

你需要做文本处理在范围内获得下限和上限,执行减法,然后连接到新的范围。您可以使用功能LEFT()RIGHT()和来完成所有这些工作。

要得到下界字符串的单元格A1:

LEFT(A1, FIND("-",A1)-1) 

要获得上限字符串的单元格A1:

RIGHT(A1, LEN(A1) - FIND("-", A1)) 

您可以简单地从2000减去这些来得到范围:

lower: 2000-RIGHT(A1, LEN(A1) - FIND("-", A1)) 

and 

upper: 2000-LEFT(A1, FIND("-",A1)-1) 

您CA Ñ立即建立新的范围:

Excel Table

其中:

D2=B2&"-"&C2