SOLVED

Exel, division by 0

Copper Contributor

Sorry, my native language is Russian.
This message was sent to Microsoft Technical Support. I was directed here to ask a question about my mistake.
I am using Microsoft Exel 2010, composing the formula for the calculation, I accidentally divided by 0, but Exel did not reveal that it was 0 and even more he gave the answer. I thought this error might propagate to older versions of Exel, so I went to Exel Online, I was surprised to find that this error still works. If we enter the formula (1 - ((0.052 * 225) / (0.9 + 0.048 * 225))), then in the answer we get 0, and if we take a number, for example, it will be 7, then writing the formula 7 / (1- ( (0.052 * 225) / (0.9 + 0.048 * 225))) then in the answer we get 6.30504E + 16 or 63050394783186900. By all the rules of mathematics, you cannot take a number and divide by 0. I have a link to a division by 0 table in Exel Online https://1drv.ms/x/s!AnRqZg99QBnia3bap9yOVyKZ9U0?e=PUuw46

1 Reply
best response confirmed by Woory (Copper Contributor)
Solution

@Woory 

 

This is caused by tiny rounding errors that occur when converting from decimal to binary and back.

The formula =1-((0.052*225)/(0.9+0.048*225))=0 returns FALSE, and the formula =1-((0.052*225)/(0.9+0.048*225))-0 returns 0.000000000000000111022302462516.

Since the numbers in your formula are accurate to 3 decimal places, you can avoid the problem by rounding the denominator to 3 decimal places:

 

=A1/ROUND(1-((0.052*225)/(0.9+0.048*225)),3)

1 best response

Accepted Solutions
best response confirmed by Woory (Copper Contributor)
Solution

@Woory 

 

This is caused by tiny rounding errors that occur when converting from decimal to binary and back.

The formula =1-((0.052*225)/(0.9+0.048*225))=0 returns FALSE, and the formula =1-((0.052*225)/(0.9+0.048*225))-0 returns 0.000000000000000111022302462516.

Since the numbers in your formula are accurate to 3 decimal places, you can avoid the problem by rounding the denominator to 3 decimal places:

 

=A1/ROUND(1-((0.052*225)/(0.9+0.048*225)),3)

View solution in original post