从范围值中减去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)
获取MID
和LEFT
函数的位置。 使用-1
或+1
可以分别获得在LEFT
和LEFT
情况下哪里停止的位置。 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一个新的范围:
哪里:
D2=B2&"-"&C2
你需要
-
parsing你的单元格中的文本,find
FIND()
“char”的位置 -
提取范围的每一侧,使用
LEFT()
和RIGHT()
函数。 -
转换为
VALUE()
范围每一侧的返回文本 -
从2000减去每个值
-
最后用
&
运算符将结果以换算顺序连接起来(记住在它们之间插入一个“ – ”)。