从范围值中减去2000

我有一个列,其中包含以下值:

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

我想先颠倒每一行的范围,然后从2000年减去值,现在变成了

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

我怎样才能写公式?

你可以使用这样的东西:

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

FIND("-",A1)获取MIDLEFT函数的位置。 使用-1+1可以分别获得在LEFTLEFT情况下哪里停止的位置。 MID获取文本的右侧部分,而LEFT获取文本的左侧部分。

从2000中减去结果并将所有内容与&连接起来。

稍微不同的方式来做到这一点。 如果你的2000值可能改变,把它放在另一个单元格,并参考它是这样的:(把公式在C2和拖下来,把2000年在C1)

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

在这里输入图像描述

您将需要对范围进行文本处理以获取下限和上限,执行减法,然后连接到新范围。 你可以用函数LEFT()RIGHT()FIND()来做所有的事情。

要获取单元格A1中string的下限:

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

要获取单元格A1中string的上限:

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

您可以简单地从2000年减去这些来获得新的界限:

 lower: 2000-RIGHT(A1, LEN(A1) - FIND("-", A1)) and upper: 2000-LEFT(A1, FIND("-",A1)-1) 

您现在可以创build一个新的范围:

Excel表格

哪里:

 D2=B2&"-"&C2 

你需要

  1. parsing你的单元格中的文本,findFIND() “char”的位置

  2. 提取范围的每一侧,使用LEFT()RIGHT()函数。

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

  4. 从2000减去每个值

  5. 最后用&运算符将结果以换算顺序连接起来(记住在它们之间插入一个“ – ”)。