添加已使用 HEX2DEC() 转换的数字范围?(接收错误)

添加已使用 HEX2DEC() 转换的数字范围?(接收错误)

在 Excel 单元格 A1 和 A2 中,我有以下十六进制数:04cf 和 04fb,分别为 1231 和 1257。

我尝试将 A1 和 A2 转换为十六进制,然后将两者相加得到 2488。在 B1 中,我输入 =SUM(HEX2DEC(A1:A2)),但这会返回错误。

看起来我需要有一个单独的部分专门用于 A1 和 A2 的小数形式,然后我可以将该部分中的数字相加。问题是我有很多数据,这会占用电子表格上的大量空间。我想知道是否有可能更干净地做到这一点?

非常感谢。

答案1

尝试使用 CTRL + SHIFT + ENTER:

=SUM(HEX2DEC(+A1:A2))

+符号将范围参数更改为数组。此操作可应用于不接受多个单元格范围的函数参数,包括工程类别中的一些参数以及旧版本中构成“分析工具库”一部分的其他参数。

您还可以尝试SUMPRODUCT替代方法SUM并输入公式,而无需 CSE 按键。

答案2

考虑以下自定义函数

Public Function HexSum(rIN As Range) As Long
    Dim r As Range, v As String, n As Long
    HexSum = 0

    For Each r In rIN
        v = r.Text
        n = Application.WorksheetFunction.Hex2Dec(v)
        HexSum = HexSum + n
    Next r
End Function

在此处输入图片描述

答案3

不要使用公式=SUM(HEX2DEC(A1:A2)),而要使用=HEX2DEC(A1)+HEX2DEC(B1)

HEX2DEC与 Excel 中的大多数其他函数不同,它不是支持矩阵的函数。其参数不能是数组,而必须是单个十六进制数,因此会出现错误。

答案4

尝试

=SUM(HEX2DEC(A1),HEX2DEC(A2))

相关内容