Excel, renowned for its robust computational abilities, is a cornerstone in the arsenal of business tools, powering countless operations across various industries. Its versatility and ease of use have made it an indispensable asset for professionals globally. However, despite its prowess, Excel is not infallible, especially when handling floating-point numbers.

Understanding Floating Points

The term "floating point" derives from how these numbers are represented in computing. Unlike fixed-point numbers, where the number of digits before and after the decimal point is constant, floating-point numbers allow the decimal point to "float." This means the decimal point can be placed anywhere relative to the significant digits of the number, allowing for a much wider range of values to be represented. This flexibility is crucial for scientific calculations and dealing with very large or small numbers.

Precision Issues in Excel

Excel's calculations may not always yield accurate results when dealing with high-precision values. This limitation is not unique to Excel but is inherent in the floating-point arithmetic used by virtually all computing systems. This is often observed in Excel when performing calculations involving numbers with many decimal places or extremely large and small values.

This issue's root lies in how computers store and process numerical data. Computers use a binary system (base-2), which inherently struggles with accurately representing some decimal (base-10) numbers. A common example is the inability to represent the decimal number 0.1 in binary form precisely. In Excel, this imprecision becomes noticeable when calculations involve numbers that cannot be exactly represented in binary.

Implications and Workarounds: While for most practical business applications, the precision offered by Excel is sufficient, certain situations requiring high-precision calculations might be affected. For example, financial analysts working with large datasets might encounter slight discrepancies that can impact the outcome of their analyses.

To mitigate these issues, Excel offers several workarounds:

Rounding Functions: ROUND, ROUNDUP, and ROUNDDOWN can help manage precision levels by rounding off numbers to a specified number of digits.

Precision as Displayed Setting: Excel can force calculations to use the precision of the displayed numbers. This can help ensure consistency between what you see and what Excel uses in its calculations, albeit at the cost of losing some precision.

Awareness and Adjustment: Being aware of the potential for precision errors and adjusting calculations or interpreting results with this in mind can help reduce these limitations' impact.

Use of External Tools: For calculations where precision is paramount, such as in scientific research, it might be advisable to use specialized software designed to handle high-precision arithmetic.

Floating Point Calculation Issues in Excel floating points

Excel's functionality as a computational tool is impressive, but it's crucial to understand its limitations in handling numerical precision. Governed by the IEEE 754 standard for floating-point arithmetic, Excel is limited to representing and calculating with only 15 significant digits of precision. This technical constraint can lead to subtle yet important discrepancies between the numbers Excel displays and the actual figures it uses in computations. Especially when dealing with extremely large or small numbers, this limitation can result in rounding errors and a loss of detail, potentially skewing the outcomes of complex calculations.

The implications of this 15-digit precision barrier are particularly pronounced in fields that demand high levels of accuracy, such as scientific research, engineering, and financial modeling. Analysts and professionals in these areas must know how Excel's precision limit could affect their work. For instance, rounding errors might compound throughout a lengthy calculation, and the loss of detail in small numbers can be critical in precise scientific measurements. Navigating this limitation requires a strategic approach. Regularly verifying and cross-checking results, especially in datasets with large numbers or intricate calculations, becomes essential. Utilizing Excel's rounding functions, like ROUND, can help align results more closely with expected outcomes. However, for tasks demanding precision beyond Excel's 15-digit limit, professionals might need specialized software tailored for high-precision calculations.

Educating stakeholders about these limitations is also key, particularly for those presenting data and analyses, to ensure a clear understanding of the potential for precision-related discrepancies in Excel's outputs. In summary, while Excel is a versatile and powerful tool for a wide array of computational tasks, its users must be mindful of its limitations concerning floating-point arithmetic and approach data analysis and presentation with cognizance of these boundaries.

Binary System

The main reason behind this behavior can be broken down to a fundamental design component of computer-based systems. Computer hardware and software communicate with one another using a binary system, consisting of values 1 and 0, as input and output data.

Therefore, the base-10 numerical system is also stored in binary format, which can cause issues with fractions. For example, the fraction of 2/10 is represented as 0.2 in the decimal number system, but identified by an infinitely repeating number 0.00110011001100110011 in the binary system. Data loss becomes inevitable when storing this number in a finite space. The data loss occurs after the 1E-15 point: more commonly known as the 15-digit limit in Excel.

For instance, looking at the example below, you would agree that cells C3 and C5 are equal. However, adding a value of 1 to the value of C3 changes the precision level (i.e. there are eleven 1’s in cell C4, while there are fifteen in cell C3). Ultimately, we get a completely different result in C5, which supposedly contains the inverse function.

Floating Point Calculation Issues in Excel floating points

 

Standard

Excel uses a modified version of the IEEE 754-1985 standards. This is a technical standard for floating-point computation, established in 1985 by the Institute of Electrical and Electronics Engineers (IEEE). The 754 revision became very popular and is the most widely used format for floating-point computation by both software libraries and hardware components (i.e. CPUs). According to Microsoft, it is used in all of today's PC-based microprocessors, including the Intel, Motorola, Sun, and MIPS processors.

 

Limitations of Floating Points

Maximum / Minimum

Excel only has a finite space to store data. This limitation affects the maximum and minimum numbers allowed by the software. Here are some examples[2]:

 Smallest allowed negative number -2.2251E-308
Smallest allowed positive number 2.2251E-308
Largest allowed positive number 9.99999999999999E+307
Largest allowed negative number -9.99999999999999E+307
Largest allowed positive number via formula 1.7976931348623158e+308
Largest allowed negative number via formula -1.7976931348623158e+308

Source: https://support.office.com/en-us/article/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3

Excel is a powerful tool used across various industries for its extensive computational abilities. However, it does have limitations when handling numerical data at extreme scales, leading to specific types of errors known as overflow and underflow. Additionally, Excel's inability to process infinite numbers can result in another common error, impacting calculations.

Overflow Error in Excel

Overflow errors in Excel occur when the software encounters a number exceeding its maximum processing capacity. This usually happens in scenarios involving large-scale computations, such as calculating the factorial of a substantial number or modeling exponential growth over extended periods. Excel hits its numerical limits in these situations and returns a #NUM! Error, indicating that the calculation result is too large for Excel to represent. This type of error is particularly relevant in fields like financial modeling or statistical analysis, where handling large numbers is common.

Underflow Error in Excel

On the other end of the spectrum, Excel faces underflow errors when dealing with extremely small numbers. In such cases, it approximates these numbers as zero. While this approximation simplifies processing, it can lead to inaccuracies, especially in calculations requiring high precision, such as in scientific or engineering applications. Though less frequent than overflow errors, underflow errors can significantly impact calculations where the difference between a small number and zero is vital.

Handling Infinite Numbers

Another limitation of Excel is its handling of infinite values. Mathematically, certain operations can yield infinite results, like dividing a number by zero. However, Excel cannot represent infinity and instead returns a #DIV/0! Error for such operations. This error indicates that the formula in question attempted to divide by zero, a mathematically undefined and, therefore, unprocessable operation. This error is commonly encountered in various types of financial modeling where there is a risk of unintentional division by zero or a blank cell.

Practical Implications and Considerations

Excel's capabilities are more than sufficient for most standard business applications and data analyses. However, in specialized fields that require handling extreme numerical values or high precision, such as certain scientific research, engineering, or advanced financial modeling, the limitations of Excel become more evident. In these specialized contexts, being aware of Excel's limitations in numerical processing is crucial. Users may need to implement checks for potential overflow or underflow errors in their work or consider alternative tools better suited for handling high-precision calculations.

In conclusion, Excel's versatility makes it a valuable tool for a wide range of data processing tasks. However, its users should be mindful of its limitations in handling very large or small numbers and its inability to process infinite values. This awareness is particularly important for those engaged in complex and precise data computations, where accuracy is paramount.

 

Very large numbers

In the example below, Excel finds the sum of B8 and B9 equal to the value of B8. The 15-digit limit causes Excel to evaluate the calculation with the 15 largest digits. This example would have required Excel to work with 100-digit precision to evaluate accurately.

Floating Point Calculation Issues in Excel floating points

Very small numbers

If we add 1 to 0.000123456789012345 (which has 18 significant digits but contains numeric values in its smallest 15 digits), the result should be 1.000123456789012345. However, Excel gives 1.00012345678901 because it ignores the digits following the 15th significant digit.

Floating Point Calculation Issues in Excel floating points

 

Repeating Binary Numbers

Storing repeating binary numbers as non-repeating decimal number can affect the final values in Excel. For example, the formula ‘=(73.1-73.2)+1’ evaluates to 0.899999999999991 when you format the decimal places to 15 digits.

Floating Point Calculation Issues in Excel floating points

 

Floating Points Accuracy within VBA

VBA can work with more than a single data type, unlike Excel calculations. Excel uses 8-byte numbers, while VBA offers different data types that vary from 1 byte (Byte) to 16 bytes (Decimal), which can provide precision at the 28-digit level. You can choose a variable type based on data storage, accuracy, and speed requirements.

Floating point calculations can be relatively challenging due to technical limitations. However, VBA and other mathematical methods offer workarounds to ensure you don’t miss a decimal if you know the existing limitations.