• On TechRepublic: Five super-secret features in Windows 7
September 26, 2007 1:24 PM PDT

Microsoft: Excel 2007 bug is skin deep

by Stephen Shankland

A bug in Excel 2007 reported earlier this week may be ugly, but it's only skin deep, Microsoft said late Tuesday.

With the bug, results that should have been shown as 65,535 showed instead as 100,000, and a related problem cropped up with 65,536, Microsoft's David Gainer said in a blog posting. But the problem affected how Excel showed the number, not in what the spreadsheet software actually "knows."

"This is an issue in a function that puts numbers in cells, so the values in Excel's memory are actually correct," Gainer said. "Any calculations based off that cell will be accurate too."

That's still a problem, of course, but it might be comforting to know that it's not as likely to creep outward from one result to the next.

A repair is in testing now. "We've come up with a fix for this issue and are in the final phases of a broad test pass in order to ensure that the fix works and doesn't introduce any additional issues--especially any other calculation issues," Gainer said. "This fix then needs to make its way through our official build lab and onto a download site--which we expect to happen very soon."

He didn't try to downplay the problem, as Intel once famously did with the FDIV calculation bug in some early Pentium processors, but he did indicate it's not widespread. "Of the 9.214*10^18 different floating-point numbers that Excel 2007 can store, there are 6 floating-point numbers (using binary representation) between 65534.99999999995 and 65535, and 6 between 65535.99999999995 and 65536 that cause this problem," Gainer said.

Floating-point numbers are those described with two components--the first between 1 and 10 and the second an exponent of the power of 10. So, for example, 2.6^10*2 is 2.6 * 100, or 260.

Stephen Shankland writes about a wide range of technology and products, but has a particular focus on browsers and digital photography. He joined CNET News in 1998 and since then also has covered Google, Yahoo, servers, supercomputing, Linux and open-source software, and science. E-mail Stephen, or follow him on Twitter at http://www.twitter.com/stshank.
Recent posts from Underexposed
Nikon app teaches photography on the fly
Smile! Flickr has an official iPhone app
Corel Digital Studio 2010 opens up to consumers
Adobe tests raw support for Olympus E-P1, new Nikons
Adobe's next Lightroom to forsake PowerPC Macs
How Flickr needs to change
Adobe kills low-end Photoshop, urges users online
Toshiba plans 64GB SDXC memory cards for 2010
Add a Comment (Log in or register) (15 Comments)
  • prev
  • 1
  • next
Bug is NOT only skin deep
by news reader September 26, 2007 8:33 PM PDT
The Microsoft blog was misleading. It's true that if you type "=850*77.1" into a cell, then the bug will only be in how it's displayed, but not how it's stored in memory. But if you type "=round(850*77.1)" into a cell, then the wrong value will actually, truly be in memory. It will propagate to other cells. It will affect sums and averages that you calculate. This bug is NOT only "skin deep".
Reply to this comment
Typo: =round(850*77.1,0)
by news reader September 26, 2007 8:53 PM PDT
One typo in that last comment: that should have been "=round(850*77.1,0)" to create a true incorrect value in memory.
Not problems
by jds013 September 27, 2007 9:38 AM PDT
The bad value applies in most situations. Microsoft's disclaimer is ingenuous, and unfairly confuses a significant problem.

If you save your spreadsheet as a CSV, the wrong value of 100000 is written.

If you add a value to the incorrect number, the incorrect number is propagated.

The incorrect value is applied in SUMPRODUCT.
View reply
They Let balmer code these days?
by MacHeads September 26, 2007 11:30 PM PDT
Would explain some errors.

http://www.youtube.com/watch?v=BZDVKLESNXg
Reply to this comment
On second thought
by MacHeads September 26, 2007 11:36 PM PDT
Nahhh ... can it be the software that has been used to estimate
vista's actual users ? Can it ? 65535=100000... a few more
copies "displayed as sold".

A repair is in testing now. "We've come up with a fix for this
issue and are in the final phases of a broad test pass in order to
ensure that the fix works and doesn't introduce any additional
issues--especially any other calculation issues," Gainer said.
"This fix then needs to make its way through our official build
lab and onto a download site--which we expect to happen very
soon."

If this would not be a grave matter of concern it would be funny.
A spreadsheet program you can't trust to do operations properly
is not one worth considering using.
Reply to this comment
FYI: Only for * and /
by Schpeyeder September 27, 2007 6:45 AM PDT
This bug is present when using multiplication and division on the cell value. If you add or subtract the values, you will see the correct result. Strange bug though...
Reply to this comment
my old calculator can handle the number just fine?
by ColdMast September 27, 2007 7:37 AM PDT
I wonder what other problems will crop up with EXCEL 2007?
Reply to this comment
About old calculators (did you check?)
by R-Green September 27, 2007 12:10 PM PDT
Reminds me of the time in the late 60s when we were busy making chipsets for a small Japanese company whose name has since changed and who has become a major company. After shipping a lot, I accidently found that doing calculations like 66666*77777/66666 would give results such as 5345.533. Oops. Threw away a bunch of silicon and the calculator company was not so happy. If your calculator is really old, you might want to check.
Anonymously,
Bob
It definitely more serious than formatting
by lcminc September 29, 2007 3:54 PM PDT
Try the following vertical summation of these numbers.
2874
226345
153387
2285575
equals 2670188 instead of
2668181
I have no confidence in their products.
Reply to this comment
uh no it doesn't
by gp2792 October 1, 2007 1:01 PM PDT
nice try, though.
Example at end of Excel Bug report
by nick fortis October 10, 2007 1:12 PM PDT
2.6^10*2 is **NOT** 260; I believe this is (2.6^10)*2 (which is
closer to 28233.419130676)

Perhaps one meant 2.6*(10^2) 2.6 times 10-squared = 2.6
times 100 = 260.

Furthermore, Floating point representations are possibly best
thought of as numbers expressed as a variant of Scientific
Notation.

E.g. The above: 2.823341913E+04

Nick F. 10.10.07
Reply to this comment
Excel 2007 can not add correctly.
by lcminc October 25, 2007 9:10 PM PDT
I have download the bug patch for the previously discussed problem with 850*77.1 =100000 and have found another bug that is more distrubing. Try adding the following numbers with a vertical sum 3277+ 240550 + 166937 + 2392356 = 2805127 instead of 2803120 . Any help would be appreciated

Logan McDonald
Reply to this comment
Not for me
by artwolf November 7, 2007 1:54 PM PST
worked fine for me
by jlschuck September 18, 2008 7:53 PM PDT
Here's a bug that isn't skin deep:

"Charts on dialog sheets: Charts are not allowed on dialog sheets. It was not possible to implement this feature for the 2007 Office system."

Excel 2007 has less capability than the older version. My expensive EXCEL base software can't run in the newest, lastest, and not so greatest version of excel. What a rip off. Yes I did read the box and researched the web before I bought the software. They should have to tell people when the water down the software and then try to pass it off as an "upgrade". 2007 is all fluff and pretty graphics and nothing else. save your money.
Reply to this comment
(15 Comments)
  • prev
  • 1
  • next
advertisement
Click Here

FAQ: Buying the right Windows 7 upgrade

Readers still have lots of questions on just which version of the software they need to buy in order to upgrade their PC. CNET News tries to offer some answers.

N.Y. lawsuit details Intel's 'largesse' toward Dell

Attorney General Andrew Cuomo's federal antitrust case filed Wednesday alleges a longstanding symbiotic relationship between Intel and Dell.

About Underexposed

This blog sheds light on digital photography subjects such as cameras, photo editing, and Web sites. Shankland joined CNET News in 1998 after a five-year stint as a science writer. He's a lab rat who grew up in Los Alamos, N.M., and graduated from Harvard.

Contact Stephen at Stephen.Shankland@cnet.com

Add this feed to your online news reader

Underexposed topics

advertisement
advertisement

Inside CNET News

Scroll Left Scroll Right