The Excel DEC2OCT Function

Related Function:
Oct2Dec Function

Basic Description

Hexadecimal (base 16), decimal (base 10), octal (base 8), and binary (base 2) are the most commonly used numeral systems in engineering and computing. Therefore, Excel has provided functions to convert numeric values to and from each of these systems.

The Excel Dec2Oct function converts a decimal number into an Octal (Base 8) number.

The format of the function is:

DEC2OCT( number, [places] )

Where the function arguments are as follows:

number-The decimal number that is to be converted to octal.

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

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

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

  +   Display Octal Summary:


The Octal (Base 8) Numeral System uses the digits 0-7.

The following table shows the first 16 octal values, along with the equivalent decimal values:


For further information on the octal numeral system, see the Wikipedia Octal Page

Dec2Oct Function Examples

The following spreadsheets show examples of the Excel Dec2Oct function.

1=DEC2OCT( 8 )
2=DEC2OCT( 18 )
3=DEC2OCT( 8, 10 )
4=DEC2OCT( -8 )
5=DEC2OCT( 237 )
110  Result is   1*8 + 0
222  Result is   2*8 + 2
30000000010  Result is   1*8 + 0
47777777770  Result is   -8^9 + 7*8^8 + 7*8^7 + ... + 7*8 + 0
5355  Result is   3*8^2 + 5*8 + 5

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

Further information and examples of the Excel Dec2Oct function can be found on the Microsoft Office website.

Dec2Oct Function Errors

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

Common Errors

Occurs if either:

  • The supplied number argument is < -536,870,912 or is > 536,870,911;
  • The resulting octal 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.