从值范围中减去2000

时间:2013-12-11 16:45:44

标签: excel

我有一个包含以下值的列:

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

我想首先反转每一行的范围,然后从2000中减去这些值,使它现在变为

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

我该如何编写公式?

4 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

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

FIND("-",A1)获取-MID函数的LEFT位置。使用-1+1可以在LEFT的情况下获取停止位置的位置,并分别在MID的情况下从何处开始。 MID获取文本的正确部分,而LEFT获取文本的左侧部分。

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

答案 1 :(得分:2)

采用略有不同的方式。如果您的2000值可能会更改,请将其放在另一个单元格中并像这样引用它:(将公式放入C2并向下拖动,将2000放入C1中)

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

enter image description here

答案 2 :(得分:1)

你需要

  1. 解析单元格中的文本,FIND()“ - ”char的位置

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

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

  4. 从2000减去每个值

  5. 最后使用&运算符将恢复顺序的结果连接起来(记得在它们之间插入“ - ”)。

答案 3 :(得分:1)

您需要对范围进行文本操作以获取下限和上限,执行减法,然后连接到新范围。您可以使用LEFT()RIGHT()FIND()功能执行所有这些操作。

获取单元格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)

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

Excel Table

其中:

D2=B2&"-"&C2