从单元格值的右侧减去左侧的公式,并打印结果(Excel 2010)

时间:2015-05-22 03:58:28

标签: excel-vba vba excel

我试着四处寻找答案,但有点迷路......

这是我的情况:

- 我在D栏的某些单元格中有两个数字,我想要的差异显示在E列的同一行。

- 所有行都将使用此公式,但那些行将组合在一起

-Column D的格式设置为文本,因为我希望显示所有前导/结束零。每个值都是手动输入的 - 2个由UTF-8代字号(无空格)分隔的num,即000.000~000.001

-Column E的格式设置为标准,否则公式不会起作用。列E(行x)处的单元格是我希望列D(行x)中单元格的值的右数字和左数字之间的差异被吐出的颜色。
(由于我手动输入了数字,我确保正确的数字总是比左边大。)

我意识到我可以在VBA中执行此操作,但由于工作簿是共享的,因此在不取消共享的情况下添加宏是不可能的。有些人反对。因此,我更喜欢一个公式。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您的问题有点模糊,以下是如何获取单元格值的一部分示例:

A1 = 100~200
B1 = =LEFT(A1,FIND("~",A1)-1) + RIGHT(A1,LEN(A1)-FIND("~",A1))

B1结果= 300

答案 1 :(得分:0)

我非常轻微地编辑了Dan D的原始配方,以满足我的需求:

=右(D27,LEN(D27)-FIND(“〜”,D27) - LEFT(D27,FIND(“〜”,D27)-1))

仅当左数为000.000时才使用上述公式显示正确的差异。否则它是#VALUE。

所以,使用这个公式(thx到Dan D.)会显示正确的差异:

= VALUE(右(D27,LEN(D27)-FIND(“〜”,D27)) - VALUE(左(D27,FIND(“〜”,D27)-1)))

(但只能通过逐个粘贴来成功复制粘贴公式。)

注意:上面公式中的D27是包含我需要的值的单元格。我只是把这个公式打到我想要显示结果的普通/标准格式单元格中。