3

В ячейках Excel A1 и A2 у меня есть следующие шестнадцатеричные числа:04cf и 04fb, которые 1231 и 1257, соответственно.

Я пытаюсь преобразовать A1 и A2 в шестнадцатеричное, а затем добавить два, чтобы получить 2488. В B1 я ввожу = SUM(HEX2DEC(A1:A2)), но это возвращает ошибку.

Похоже, мне нужен отдельный раздел, посвященный десятичным формам А1 и А2, а затем я могу добавить числа в этом разделе вместе. Дело в том, что у меня много данных, и это заняло бы много места в электронной таблице. Я смотрю, можно ли сделать это более чисто?

Огромное спасибо.

4 ответа4

2

Попробуйте с помощью CTRL + SHIFT + ENTER:

=SUM(HEX2DEC(+A1:A2))

Символ + изменяет аргумент диапазона на массив. Эта операция может быть применена к аргументам функции, которые не принимают диапазоны более чем одной ячейки, включая некоторые из них в категории "Инженерия" и другие, которые использовались для формирования "набора инструментов анализа" в более старых версиях.

Вы также можете попробовать SUMPRODUCT в качестве альтернативы SUM и ввести формулу без необходимости нажатия клавиши CSE.

0

Рассмотрим следующий UDF:

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

-1

Вместо формулы =SUM(HEX2DEC(A1:A2)) используйте =HEX2DEC(A1)+HEX2DEC(B1) .

HEX2DEC не является функцией с поддержкой матриц, как большинство других функций в Excel. Его аргумент не может быть массивом, это должно быть одно шестнадцатеричное число, отсюда и ошибка.

-3

пытаться

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .