HEX2DEC ограничен 10 символами, но это не значит, что мы не можем его использовать. Просто используйте его несколько раз, чтобы преобразовать 10 символов за раз и применить соответствующую мощность 2 для каждого использования.
= HEX2DEC(RIGHT(C8,10))+HEX2DEC(MID(C8,3,5))*POWER(16,10)
[Отказ от ответственности: не проверено в данный момент]
Позже: я сейчас в электронной таблице, готов к тестированию. Измените 3,5 в MID на 3,6. Хм .. все еще не правильно.
Оказывается, что HEX2DEC работает со знаковыми шестнадцатеричными значениями, поэтому первый член оказывается отрицательным. Не знаю почему, но вот исправленная версия, которая добавляет 2 ^ 40 (или 16 ^ 10, как мы работаем в шестнадцатеричном формате) для исправления:
= HEX2DEC(RIGHT(C8,10))+POWER(16,10) + HEX2DEC(MID(C8,3,6))*POWER(16,10)
Однако это работает, только если ПРАВО (C8,10) оказывается отрицательным. Вот мое общее решение:
= HEX2DEC(RIGHT(C8,10))+IF(HEX2DEC(RIGHT(C8,10))<0,POWER(16,10),0) + HEX2DEC(MID(C8,3,6))*POWER(16,10)
Ugggh.