如何对 Excel 中字母数字单元格中的数字求和?

如何对 Excel 中字母数字单元格中的数字求和?

我正在尝试弄清楚如何添加包含字母数字值的单元格列表。例如,如果单元格数据是3.098 GB (3,326,698,574 bytes)

我使用下面的方法去掉括号和字母:

=LEFT(G55,LEN(G55)-7)
=RIGHT(C55,LEN(C55)-10)

这会让我得到类似这样的结果:3,326,698,574

我想要做的是使用 添加所有单元格=sum,但我无法让它工作。

答案1

你可以通过以下方式获取号码

=VALUE(MID(LEFT(G55,LEN(G55)-7),FIND("(",G55)+1,99))

如果这导致您出现 #VALUE 错误,则说明 Excel 不会自动处理文本中的逗号。如果是这种情况,请添加替代:

=VALUE(SUBSTITUTE(MID(LEFT(G55,LEN(G55)-7),FIND("(",G55)+1,99),",","")

假设这个值在 C55 中。然后您可以将其转换为原始符号,如下所示:

=ROUND(SUM(C55)/1024^3,3)&" GB ("&TEXT(SUM(C55),"#,###")&" bytes)"

您可以用您的数据范围替换 C55。

答案2

您可以将第二个公式中的 C55 引用替换为 C55 公式,以将其简化为一个公式。但是,您的结果是文本,它不会求和,并且您的公式仅适用于该大小范围内的值。这里有一种方法可以构建一个通用公式,该公式适用于任何大小的值并为您提供数字结果。我将一步一步地构建它,以便操作更清晰。

您始终希望使用括号内的完整数字。要找到该数字(无论数字大小如何),您可以查看左括号“(”和后续空格之间的内容。“(”的位置为:

    FIND("(",G55)

查找后续空间时从该位置开始搜索,因此其位置为:

    FIND(" ",G55,FIND("(",G55))

您想从字符串中间提取数字,因此请使用 MID 函数:

    MID(G55,FIND("(",G55)+1,FIND(" ",G55,FIND("(",G55))-FIND("(",G55)-1)

这会从 G55 中的字符串中提取数据,从“(”后面的位置开始,并包括两个位置之间的差异中的字符数(调整分隔符位置的计数)。这会为您提供数字的文本版本。要对值求和,您需要将其转换为数字:

    =VALUE(MID(G55,FIND("(",G55)+1,FIND(" ",G55,FIND("(",G55))-FIND("(",G55)-1))

公式中的所有内容均引用单元格 G55,因此如果值在一列中,请将公式复制到辅助列中以获取可求和的提取数字列表。

相关内容