如何将单元格中的数字相加?

时间:2009-05-05 18:35:05

标签: excel vba excel-formula text-parsing office-2007

我有Excel表格 alt text

要求是对“C”列中单元格中的数字求和,并将值放在“B”列的相应单元格中(在我的示例中为0.25 + 1 + 0.25 + 1 = 2.5)。

“C”列中的值可能会发生变化。一旦“C”列中的单元格发生变化,就要求更新“B”中的值。

我确实要求创作者更改为两个不同列中的文本和数字,但由于标准模板,这是不可接受的。

1 个答案:

答案 0 :(得分:4)

这可以使用宏来实现,而无需更改单元格中的文本。 我不得不承认,实施会有点迟钝,因为你需要做一些事情。

1 - 对整个单元格内容进行标记,并将标记存储到字符串数组中。

已经存在问题。位于单元格内的文本非常不一致。你有-250毫秒, - 250毫秒, - 1秒, - 1秒。因此,您需要检查每个实例。因此,您不能只检查值是否为数字,您需要检查您的团队成员为您方便提供的所有排列。

执行此操作的最佳方法是检查正则表达式。因此,#2应该是:

2 - 检查每个值,看它是否与许多4个正则表达式中的一个匹配。

3 - 根据匹配的正则表达式,提取数值。

a)如果只是一个值(即 - > 250),检查ms或sec是否继续该值。 IF ms,将数字除以1000.如果为sec,则保留数字。添加总数。
b)如果数字前面有短划线( - ),则删除短划线,然后重复步骤a)
c)如果数字后跟字母,则删除字母并重复步骤a)
d)如果一个数字后跟一段时间,则什么也不做。这是一个要点。