The Excel DEC2HEX Function

Related Function:
Hex2Dec Function

Function Description

The Excel Dec2Hex function converts a decimal number into a Hexadecimal (Base 16) number.

The syntax of the function is:

DEC2HEX( number, [places] )

Where the function arguments are as follows:

number - The decimal number that is to be converted to hexadecimal.
[places] -

An optional argument, which specifies the number of characters that you want the returned hexadecimal number to have.

If this is greater than the minimum, the hexadecimal number will be padded out using leading zeros.

If [places] is omitted, the returned hexadecimal uses the minimum number of places.

  +   Display Hexadecimal Summary:

Hexadecimal

The Hexadecimal (Base 16) Numeral System uses the digits 0-9 and the characters a-f.

The following table shows the first 32 hexadecimal values, along with the equivalent decimal values:

Hexadecimal 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20
Decimal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

For further information on the hexadecimal numeral system, see the Wikipedia Hexadecimal Page

Dec2Hex Function Examples

The following spreadsheets show five examples of the Excel Dec2Hex function.

 Formulas:
  A
1 =DEC2HEX( 10 )
2 =DEC2HEX( 31 )
3 =DEC2HEX( 16, 10 )
4 =DEC2HEX( -16 )
5 =DEC2HEX( 273 )
 Results:
  A B
1 A  
2 1F   Result is   1*16 + 15
3 0000000010   Result is   1*16 + 0
4 FFFFFFFFF0   Result is   -16^9 + 15*16^8 + 15*16^7 + ... + 15*16 + 0
5 111   Result is   1*16^2 + 1*16 + 1

Note that, in the above example spreadsheet, the negative hexadecimal number in cell A4 is represented by two's complement notation.


Further details and examples of the Excel Dec2Hex function are provided on the Microsoft Office website.


Dec2Hex Function Errors

If you get an error from the Excel Dec2Hex function this is likely to be one of the following:

Common Errors
#NUM! -

Occurs if either:

  • The supplied number argument is < -549,755,813,888 or is > 549,755,813,887;
  • The resulting hexadecimal number requires more places than is specified by the supplied [places] argument;
  • The supplied [places] argument is < 0 or > 10.
#VALUE! - Occurs if either the supplied number argument or the supplied [places] argument is non-numeric.