【问题标题】:How to sum the digits in text in a cell?如何对单元格中文本中的数字求和?
【发布时间】:2010-10-24 00:03:04
【问题描述】:

我有一张 Excel 表格

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

“C”列中的值可能会改变。要求是在“C”列中的单元格更改后立即更新“B”中的值。

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

【问题讨论】:

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


    【解决方案1】:

    这可以通过使用宏来实现,而无需更改单元格中的文本。 我不得不承认,由于您需要做一些事情,因此实施会有些滞后。

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

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

    最好的方法是检查正则表达式。因此,#2 应该是:

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

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

    a) 如果只是一个值(即->250),请检查 ms 或 sec 是否继续该值。如果是 ms,则将数字除以 1000。如果是 sec,则保持原样。将数字添加到总数中。
    b) 如果数字前面有破折号 (-),请删除破折号,然后重复步骤 a)
    c) 如果数字后跟字母,则删除字母并重复步骤 a)
    d) 如果一个数字后跟一个句点,什么也不做。这是一个要点。

    【讨论】:

    • 感谢乔恩,我终于说服他们以一致的方式放置价值观。因此,现在将值设置为“- xx ms”或“- xx sec”(让我的生活更轻松)我按照您的回答中的建议实现了其余逻辑。现在效果很好......谢谢!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 2010-12-14
    • 2021-12-09
    • 1970-01-01
    相关资源
    最近更新 更多