Errors in Spreadsheets are Pandemic
G Roper writes "Studies show that most spreadsheets have critical errors in one percent of their cells, well beyond a permissible level. Here are some news stories about spreadsheet errors. Spreadsheets won't protect a firm from liability when they are audited and spreadsheet errors found: spreadsheets are not secure, provide no audit trail and won't pass HIPAA or Sarbanes-Oxley auditing. How are Slashdotters coping with the proliferation of spreadsheets in the face of greater legal accountability and auditing?"
"How are Slashdotters coping with the proliferation of spreadsheets in the face of greater legal accountability and auditing?"
With a pencil. haha.
Back to ledgers and slide rules I say!
Well as one of my bosses says, "We need more Double E masters." :P.
Alas he doesnt mean Electrial Engineers, but "Excel Experts."
He's very bitter about his education
j^2
From the abstract: "Although spreadsheet programs are used for small "scratchpad" applications, they are also used to develop many large applications. In recent years, we have learned a good deal about the errors that people make when they develop spreadsheets. In general, errors seem to occur in a few percent of all cells, meaning that for large spreadsheets, the issue is how many errors there are, not whether an error exists. "
I think "how many errors, not whether an error exists" is just as true for applications and programs written in any language or using any technology. What's so insidious about spreadsheets is their integrity and the difficulty to maintain that.
Once you start changing any complex spreadsheet you risk and almost guarantee corrupting other parts of the spreadsheet ostensibly okay. The spreadsheet is so inextricably integrated to itself, you pull one string, and some widget a million miles away suddenly misbehaves, though, you're unlikely to notice until later, if at all.
IT should be strict about policy around spreadsheets... spreadsheets are great powerful tools, but they shouldn't be anointed as applications.
I worked on a team that created a large software development workbench. A critical piece of this workbench included a suite of spreadsheets with amazingly complex macros and formulae hidden way out of the casual users' sight. Immediately upon release (and much aligned with my warning and prediction) the workbench fell apart on a daily, even hourly basis, among many teams out in the field. Turns out users were deleting rows in the template spreadsheets deemed irrelevant and unnecessary to their work. Guess what got deleted along with the "unnecessary rows"? Yep, chunks of macros critical to the proper function of the workbench.
Ok, slightly off topic, but why is this posted in Hardware?
"Nobody owns the fucking words man." - James Dean
Blame it on the users of course, especially the accountants.
If every change even a correction needs to be audited save-to-save of a file, then why don't we implement a Wiki style log of changes to the file? I wonder if Open Document Format would easily support this.
The mountains of next-to-worthless data the piles of auto-saves would generate is mind boggling.
Oh You POS
How are Slashdotters coping with the proliferation of spreadsheets in the face of greater legal accountability and auditing?"
My guess it they're not. I've met FIERCE resistance in the past from accounts trying to reform their spreadsheet ways. Every accountant understands the spreadsheet. The Financial Director understands the spreadsheet. If you can't get the Financial Directory to back your plans then any reform is dead in the water.
The problem is born out of bad communication skills. IT generally assumes that just because the FD doesn't understand C++ he is stupid. We see this kind of behavior all the time on Slashdot:
No fucking shit he understood the GPL. Let's see he probably got a 1st class degree in Law, Passed his BVC with flying colours. He then probably got his pupillage with ease (there are twice as many students each year as there are pupillages) and then rose to the Bar. After that, he'd have spent 15 years working cases in the Crown Court. If he didn't understand the GPL he would have fallen at the first hurdle. My brother is a lawyer and understood the GPL before he even took his LPC. By comparison, you're average IT guy is a mere peon. I'd wager that given your average programmer with no C++ experience, the Judge could beat the programmer hands down in a programming contest. These people are very, very smart.
The same is true of Financial Directors and their ilk. They have to take years of qualifications and have decades of experience before they're allowed to do their job. Talking down to them is a recipe for marginalization. So the solution is to talk to them in clear language. None of this bullshit bingo that seems to be infesting every cranny of IT - clear, plain language.
Explain the problem, then explain the solution. They don't want or care to hear about LAMP, AJAX or Web 2.0. This like a builder telling you the type of screws he's going to use to build your house. All that you care is that your house is well built and will last a long time without significant maintenance. All they want to know why they need your solution, how much it will cost and the consequences if they don't do it. Anything else is a waste of their time and will lower the amount of time they have for you.
Simon
Excel Server.
and two more: Sharepoint.
MS has it in the bag.
At the end of the day, a human is responsible for ensuring that the data in a spreadsheet is kosher. It's been that way since Bob Cratchet scribbled in his notebook under the light of a candle. If anything, this will make a company think twice before replacing an accountant with a secretary.
"How are Slashdotters coping with the proliferation of spreadsheets in the face of greater legal accountability and auditing?"
I don't know about you, but I actually check my work and co-workers cross-check each other's work. Any spreadsheet whose numbers can't easily be checked out on a calculator should be designed such that the information generally flows in one direction and each step of a calcuation is broken out into separate rows whenever possible to make "debugging" easier.
Bill Clinton: Pimp we can believe in. - The Shirt!!!
All those VB macros and your telling me there are errors? NO Way! Couldn't be!
That's my motto, that and everybody wang chung tonight.
I despise Access...bringing poorly implemented database technology to the untrained masses.
and what was teh error rate in spereadsheets back when they were done by hand?
and did this study take into account the error in their very own spreadsheets?
and how about error on the error?
and lastly, who cares? get over it. If whatever you're designing, whatever economic model, or budget can't sustain a 1% hit due to error, then you need to really rethink your design and ideas.
Rather,its about how people make mistakes when working on spread shit.
Sample:
Why does yahoo do this
won't pass HIPAA or Sarbanes-Oxley auditing
Not exactly true. By themselves they won't, but within a version-controlled system it's fine. SOX has nothing to do with errors. It only has to do with accountability and the law is very vague. As long as your company can say a particular copy of a spreadsheet was digitally signed by an employee on a certain date there's nothing to worry about (IANAL, of course, but I've taken the corporate training on the subject). And every company dealing with SOX has software in place for maintaining relevant documents with employee names and times attached. So far every company I know of has custom in-house workflow software for SOX compliance, all of which allow document attachments.
Developers: We can use your help.
Were you born a douchebag?
"...they are also used to develop many large applications."
You think they're large now? Wait 'til the million row version of Excel is phased in and you'll see some LARGE spreadsheets.
Spreadsheets are basically a form of visual programming language, so it is unsurprising that bugs occur. They are basically designed so that ordinary people can use them, which means that they lose some of the strictness that is enforcable in a normal programming language. More worringly, I'd say that some of the properties of spreadsheets naturally encourage bugs. For example, when programming, code duplication is considered bad, and shared common code good, because it encourages simplicity and when bugs are found, they can be fixed in a single location. Conversely, in spreadsheets, the user is actually encouraged to duplicate code, with tools that let you "drag down" equations into neighbouring cells. Perhaps we should be wondering if it would be a good idea to create some kind of "next-generation" spreadsheet system that addresses these problems. Whereas programming languages have evolved constantly over the years, spreadsheets remain unchanged.
were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
I wonder what the study used to keep track of data. I bet for sure that they used Excel or SPSS.
How can we be sure that the 1% is an accurate figure? Word is, spreadsheets aren't totally reliable. :)
I'm glad I never let my spreadsheets grow to over 99 cells!
users mess stuff up. And they can't get excel formulas right all the time.
Seriously, I bet you would find word processor kludges far more common (like carriage returns rather than a page break, spaces rather than tabs, and periods rather than leaders). AND word processors are used for important stuff, like spreadsheets.
And again, why are "slashdotters" responsible for what the finance guys are doing with spreadsheets? Of course they could use a versioning system, a real database, or a pen and paper, but I wouldn't take IT advice from them, I see no reason they should take auditing advide from me.
things that can be used to control the changes made to documents and that will do enough control for most companies. At my office, we use a web-based front-end for what I am pretty sure is CVS. It manages are various projects and their associated documents. It logs updates people make and saves the old revisions as well, so we can always go back and determine what prior versions said versus the now.
Granted, this does require people to actually use the system. We have a long list of policies regarding the system, including when important documents should be updated back to the server. Considering that I have seen many places where people still insist on saving important documents to their desktop with no backups when they have ample file storage on a server that is backed up (and in one instance was doubly backed up to a remote location), I really do not expect your average user to be able to cope with this sort of system.
"Some days you just can't get rid of a bomb."
provide no audit trail
... )
You can provide an audit trail in Excel:
Tools->Share Workbook->click "Multiple Users"->click "Advanced"->select how many days you want to keep a history for.
(It might not be good enough for HIPAA or SA but there is an audit trail
Sounds like you're advocating the wrong policy. How about locking the cells so users don't screw things up? You wouldn't let non-programers alter code, why would you let them alter the spreadsheet?
The world is made by those who show up for the job.
Slow down, Cowboy! I don't know if my old heart can take that much excitement!
What color is the sky on your planet?
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
While I think he may have some natural talent, douchebaggery like that takes practice.
spreadsheets are not secure, provide no audit trail and won't pass HIPAA or Sarbanes-Oxley auditing
DocLink, a document management solution that I developed helps to solve this problem. All revisions to a document are stored in a secure vault and all activity (changes, views, assignments, etc) is audited. Rather than storing files on a network share, our customers store them in a DocLink vault. Suddenly they are compliant with the auditors.
Granted, there are a lot of process improvements that need to take place, but having the proper tools in place is the first step in the right direction.
Kiteboarding Gear Mention slashdot and get 10% off!
Maybe they need these error-checking techniques for spreadsheets (see also here)?
Yet another example of the truth of "those who do not understand UNIX are bound to reinvent it, poorly."
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
or did you have douchebag thrust upon you ;-)
Don't get me wrong, Excel is pretty damn great.
BUT...no business should be "running the show" on something like Excel. For serious stuff, you need a dedicated (possibly custom-made) application that does all kinds of sanity checks. A properly coded Excel spreadsheet can do a lot of that for you, but it's not really meant for that.
>they shouldn't be anointed as applications.
Everything about them is wrong for being an enterprise application, but sometimes they're better than nothing.
I know a company where the finance rollups and planning are done with a mountain of Excel spreadsheets and scripts. Only one person understands it. Sick, but every attempt to do it right with a real database has failed after burning millions of dollars. It's been like this for at least ten years.
Advice? Fall back on the ancient wisdom of the finance guys and put cross-checks in place so you can at least detect the errors.
You should see the error rate among people who still use pen and paper to make vital calculations.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
> rm *.xls
Seriously though, I'm not surprised. It's not just financial spreadsheets that are going to cause these kinds of problems. All manner of financial data can introduce problems, and even things not normally thought of as financial data, like technical specs for the implementation of transactions and accounts in any revenue generating business. If the transaction has an obscure flaw that gets by testing, no amount of accuracy will overcome it.
The fact is, these data are ultimately generated and transcribed by human beings, and that's one thing humans always have and always will do very well - screw up. So you handle it the way any successful person, place or thing would. You double check, make a second person jointly responsible for accuracy and have them double check, and change the transcription process on a regular basis so that it stays intellectually engaging but not too challenging - after all, boredom with a process and complexity of a process will introduce far more errors than "bad information".
Film at 11.
The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
I keep trying to warn my business customers, one of which uses linked spreadsheets for their quarterly accounting (backed up by an auditing firm), that linked spreadsheets are not intended as an enterprise application. But do they listen? Tried to get them to look at alternatives but they keep saying, "It does what we need it to do." But it's always breaking, usually at the worst possible time, and the auditors are constantly pointing out errors.
You can only go so far in protecting customers from their own determined stupidity.
That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
Excuse me, I'm high but: Studies show that most spreadsheets have critical errors in one percent of their cells, well beyond a permissible level. What the fuck does that actually mean? A critical error is by definition badness beyond a permissible level. What is a critical error? Diviiding by zero? Oh fucking no.
And yes here's a fucking comment to you sir: this ain't On The Hour.
See the beauty of web-based apps here?
1. Data theft concerns. Why would you use a technology that allows a user to take a full copy of the data home?
2. Concurrency issues. The worst data I've ever seen in spread sheets is "stored on the shared drive..." People save updates Friday afternoon and erase a week's worth of changes.
3. Audits. If it can exist on a single PC walking about, NO AUDIT WILL EVER COME OUT CORRECTLY! It is like voting without a paper trail. If an individual takes a copy of the data home on a laptop, they can alter anything they want (up to and including the changelog).
And lastly, FDLFSCDIE (Friends Don't Let Friends Store Critical Data in Excel). You will be beholden to a mighty company in Redmond...
Treat critical data just as you would any critical resource. Put it behind something solid and substantial, and log everybody that touches it.
In programming, we have learned to follow strict development disciplines to eliminate most errors.
Uhh no we haven't, most software like most spreadsheets have lots of bugs.
Personally I construct my spreadsheets in small logical steps, with comments using clearly laid out input and outputs to each formula and portion of the sheet.
I then hide these sheets or portions of the sheet.
I then run a few test cases testing nominal and boundary value performance, including invalid input (which should be rejected)
Sort of like many other programs actually.
Spreadsheets were nice once. I personally am trying to eliminate them one person at a time. In an age where reporting databases are expansive, and information is being stored on record levels - why would you opt for something manual, when you could just automate a report?
Just like any other Human activity and just like any other computer program, spreadsheets tend to have errors inside!
It's not news at all!
Of course I mean both raw data errors, due to copy/paste errors, and formulae, due to thinkos or distraction.
Humman erorrss in anny casse!
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
It is difficult to eliminate the errors, so a better solution is to minimize them. The easiest way to do this is to add extra workbooks named "sheet2" and "sheet3" with thousands of extra cells in them. Then, the percentage of error is 3 times lower. Example:
Before: "sheet1" has 50x50 cells, with 25 errors. That's 25 / 50^2 = 1% errors.
After: Add "sheet2" and "sheet3" with another 50x50 cells. Now, the error rate is 25 / 50^2 / 3 = 1/3 % error.
According to my spreadsheet, that is a much better error rate!
Wait, do you mean to say that there is a use for spreadsheets beyond football pools and Project Managers printing schedules?
The whiteout capabilities of remove hidden data and who changed the data. A traditional accountant was forced to draw a line through changes and initial them. The changes had to be legible even with a line through them. Now I can change thousands of Macro enabled documents in the blink of an eye and remove any hidden data regarding those changes, a mandatory software enforced view/no print or print screen policy. I can switch from LIFO, FIFO, to Weighted Average depending on it's current value to the company in the blink of an eye.
I can manipulate the entire companies bottom line in an instant.
Bwhahaha.
Signed
Accountant with a computer science degree.
I just don't know. I've never had a problem with keeping track or accuracy of any of my spreadsheets. But then again I use Subversion to keep backups and logs on who uses what and when. Anyways back to waiting for my $2.1 billion tax return.
I checked out the article, and the examples, and I'm impressed. Unfortunately this is the same method used in climate modeling, economic forecasting, genetic engineering, and human drug trials.
Did you check out the original article? Were those studies cited put just in a straight table for illustration, or were they tabulated first in...a spreadsheet?
I have to say, though, that some of the studies are rather dated, and the data isn't all similar. However, the example of "whoops"'s that people have run into were frightening, and those were just financial spreadsheets.
I guess that just goes to show you that spreadsheets are good modeling tools, but they shouldn't be in the hands of everyone in the office preparing the reports. Instead the IT department should be writing permanent applications to make the computations, so then at least it's harder to make changes, so it's harder to accidentally replace a value in a cell or a formula that ultimately costs you $1 billion or so...
Friends help you move. Real friends help you move bodies.
Never forget: 2 + 2 = 5 for extremely large values of 2.
Are spreadsheets, on average, more or less accurate than Slashdot article summaries?
Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
A speadsheet is just like a blank word document or piece of paper. You put stuff on it. Any stuff in fact. Right or wrong, it's just data.
Doing accounting on paper leads to hard-to-read or misread digits, space considerations, inverting numbers, aligning numbers improperly and other key problems. A spreadsheet fixes many of these problems, but when it comes down to it, what's on the spreadsheet is what you put there [or what auto-correct put there]. Same thing- a calculator adds what you enter (or mis-enter). If you entered the wrong thing in a spreadsheet, at least it's easy to spot.
The answer? check your work. Go back and verify the numbers there. Go back and make sure things balance. Have the hard receipts of what you're totalling as a good copy of anything you do.
Why is this even a question on Slashdot? Make a formula to total and check sanity of numbers, which may help. When it comes down to it though, just take care in what you enter and make sure it's right afterwards.
-M
when you see the word 'Linux', drink!
Actually, the people who really do understood Unix, reimplemented it well.
- "History shows again and again how nature points out the folly of men" -- Blue Oyster Cult, 'Godzilla'
This is a complex problem. People prefer spreadsheets over almost all other types of applications because they can see what happens. In other applications, such as ERP, the numbers go in one side and financials stream out the other. To the average user, most applications are a "black box". I would suggest a size limit on spreadsheets, the huge multi-gigabyte ones are the real liability. If more complexity is needed, use a new spreadsheet for each step, and tie each one back to some benchmark number that is NOT spreadsheet based.
Use a database for storing your important data and audit all updates/changes.
The real value of spreadsheets anyway are more for formatting or prototyping. You can get any reporting you need out of a databse -- you just have to have it defined before you start.
Spreadseets are to accounting what IM conversations are to literature.
I deal with this every day. It doesn't matter how many times you tell someone 'Excel is not a database', 'there are better ways to run an SQL query and return data to a dynamic report', etc., tech-nonsavvy managers do not listen.
.xls files, all with holes and plugs in them, and worse, getting *recycled* - i.e., "I did some similar analysis for client XXX, I'll just copy their file and adapt it... what's the worst that could happen?"
What to do?
IMHO - take your most-competent web developer, or hire one if you don't have one, and sit them with the finance people who do the most Excel-abuse. Encourage them to discuss tasks and possible solutions. Then, get webdev to build small, fast, custom apps to create the output required. Think a small app in Ruby using Ruport or similar tool pulling data from the accounting/whatever DB. Usually, an Excel sheet that is part of the audit trail (I am an auditor) is a 'standard', rather than some sort of ad-hoc POS, so this would work. Plus, users couldn't mess with the formulas, etc., which is frequently where things go wrong.
I'd rather pay someone to write a well-engineered, flexible solution once that my analysts could use without breaking than have to maintain gigabytes of
Just my $.02 - as a geeky financial auditor.
Posting AC from work - OSXCPA is userid.
Remember from science class, accuracy and precision.
:o
The secretary's account of travel expenditures is accurate. But the boss' is only precise.
A 1% error when you're dealing with a $2.5 billion transaction is still $25 million. In most industries, a $25 million shortfall or overpay isn't a small amount.
Even when you're only dealing with $1 million, a 1% error affects $10000. That's enough to pay certain workers for four months. And if it were going to you as an individual, I don't think you'd be happy if you were short-changed $10000 due to a mere 1% error.
Spreadsheets are a powerful programming environment. But, like some other "visual" environments, there is no way to get a listing of your code. You have to navigate around through all those rows and columns, looking at formulas one-by-one. The old, original idea of having the source code in human-readable form in a text file, where it can be reviewed easily, and checked by utilities like lint, has never been surpassed. Errors are probably no more likely in a spreadsheet than in other programming languages, but in textual languages, it is easier to find the errors. There are a few things that would help this problem, IMO: 1.) Assert statements for spreadsheets. Users can accomplish this with existing tools. Example: Generate an error if the row-wise sum isn't equal to the column-wise sum. 2.) Pre-defined spreadsheet templates for solving common types of problems. Most spreadsheets reinvent the same wheels over and over again, frequently using poor programming practices. Just like you get templates with Microsoft word for common memo formats, you should get templates with Excel for common spreadsheets. These should come with *gasp*, documentation, describing how to customize them.
Computers obey me.
I'm amazed at the rut Excel traps IT-based businesses in. Excel was once the best thing computers did, apart from screensavers and ahead of email. But by the late 1990s Excel should have become merely the GUI for relational databases. Even cheap/free ones like MS-Access and MySQL, if not Oracle, Postgres, SQL-Server. Excel should have had macros programmable in the exact same language as actual databases, like VB (not VBA), Perl or something unique to its vertical integration. Upgrading from the starter DB to the enterprise DB should have been a matter of installing the new backend on the network, and configuring the Excel client.
If that path were taken, Excel would be a manageable platform. Instead, it's trapped in the early 1990s desktop, with all its limitations to collaboration, performance, maintenance and dataflow. Every improvement in those areas is a one shot deal, a hack on a once-elegant app now hacked to death.
Maybe the new generation of open formats and distributed computing services offer a chance to try again. Excel will probably include those, just diluted by all the wrong ways retained as its "legacy".
--
make install -not war
We use TK Solver, as it makes for easy auditing of all equations/formulas! Think of it as a highly-structured spreadsheet program. It even allows for seeing equations in mathematical notation. We use a second product when we need to use MS Excel called MathLook for Excel, which also helps to audit spreadsheets and rename spreadsheet cels for easily understanding what is where in the spreadsheet.
This sounds completely tongue-in-cheek; it's totally a serious question. What if you have spreadsheets stored in a database? Would that pass muster for audits and reviews?
At work I look after a number of databases for financial instruments: options, certificates, bonds, funds, ...
When we started to collect data for our funds-database about two years ago I was shocked that at most funds-companies a central spreadsheet is used as the main data-source for all information. Companies that invest billions of Euros rely on an Excel-sheet lying on a central fileserver for most of their data-housekeeping.
Well, not all the companies work this way. There is even an organization that tries to standardize an xml-schema for the exchange of funds-data (http://www.funds-xml.org/) - but of course no one really uses it.
Nobody has ever solved the problem of people becoming confused by the rules as to when inserting a row or column expands the range references in formulas that refer to it. Like memory leaks or buffer overflows, everybody gets all macho and implies that competent people never experience these problems. The syllogism seems to be "Truly competent people do not experience these problems. The computer industry is populated by practitioners of average competence. Therefore, it is not a problem."
In the computer industry, any problem that has existed for more than about five years is no longer seen as a problem and nobody is interested in solving it.
Oh, here's the 1997 reference.
Date: Tue, 8 Jul 1997 17:29:14 -1000
From: "Ray Panko"
Subject: Website on Spreadsheet Research
In recent years, there has been a considerable amount of research on
spreadsheets, including error rates. The Spreadsheet Research (SSR) website
summarizes data from field audits of more than 300 operational spreadsheets
and from experiments involving almost a thousand subjects ranging from
spreadsheet novices to long-time spreadsheet professionals. The results are
pretty chilling. Every study that has tried to measure spreadsheet error
rates has found them and has found them at levels that are deeply
disturbing. The URL is:
http://www.cba.hawaii.edu/panko/ssr/
"How to Do Nothing," kids activities, back in print!
Most of my job entails that I can handle Excel spreadsheets. Tracking money, managing accounts, building reports, etc. I learned early on that you can't always depend on what Excel spits out. More and more, I find that it acts like a scientific calculator. If you have ever done expenses or used Excel to calculate anything monetary related, you'll understand what I mean. Excel keeps track of fractions of fractions of a cent unless you tell it to round up to the nearest 100th of a cent. This is a common mistake that I've seen repeated a dozen times. I've seen quotes go out to a customer with the incorrect pricing because of someone's blind faith that the formula is calculating the correct dollar values.
:o)
However, when you actually use a real calculator and start adding and multiplying up these values, you will see how incorrect it can be. Though, technically, it is correct. If you want to prorate a 12 month price to 6 months and convert it to CAN from USD, you're going to see what I'm talking about. You'll get a unit price of 45.344632524464 and excel will happily tell you that it's only 45.34$. Have fun telling the auditors why your quote is over 10,000$ off.
This is a hot topic in many companies. At my employer, one of the key areas of concern is the use of spreadsheets for budgeting. Currently spreadsheets are used to forecast the variable expenses for much of the business. The numbers from the spreadsheets are loaded into a data mart and from there into a series of warehouses. Each warehouse contains less detail about more of the business than the one before. A project is in place to replace the spreadsheets with a financial planning application from one of our vendors.
I suspect that this project is doomed to failure. A number of similar efforts using various products were undertaken in the past and all failed. There are many reasons why they all failed and most had nothing to do with the actual product. The biggest reason was that the decentralized system using spreadsheets was far more agile. Centralizing the models eliminated spreadsheet errors but took far too much time to update in response to changes in the business practices and environments. Any spreadsheet error large enough to be noticeable would be caught when it was loaded to the data mart and reviewed. Any error that wasn't that large is immaterial. At the top level, a few million dollars is a rounding issue.
I don't see spreadsheets going away any time soon. The models are complex. The business is rather large. The models need to have a circular relationship with the capacity plans. The models can't account for a certain amount of top down budgeting. These factors render centralization largely an exercise in futility.
The killer app is going to be Excel Web Services in Office 2007. That will provide the accountability and auditability while allowing our analysts to continue using Excel.
How are Slashdotters coping with the proliferation of spreadsheets in the face of greater legal accountability and auditing?
Swearing like fucking buggery at people who think spreadsheets are the universal solution to life.
Why spreadsheets? Why not databases? What about Sar-box or HIPAA? What about security?
From the top, I AM an accounting troll, and I am the local Excel guru.
Some random thoughts on the topic:
Like anything else, whether or not a spreadsheet is a good solution depends on the problem you're trying to solve.
Part of the problem is that the basic user-interface metaphor has a lot of legs. The spreadsheet metaphor has been around for 25+ years and gone through several different predominant apps in that time. It's well understood, intuitive and discoverable. From a user standpoint those are powerful reasons to stick with it. The problems are behind the scenes and particularly behind the scenes with excel. Now there's a surprise - software from M$ with hidden problems.
In a sense Excel suffers from the same bloat as Word - it's just less visible to most. Excel now ships with an enormous function library but most people only know and use a bare handful of the functions. For about 60% of the time, I only need about a dozen functions. And for most people that's all they EVER need. The other 40% of the time I will use everything I can find. All of that function library is simply unnecessary, confusing, and useless bloat to most people. Much more of it should be broken into add-in libraries only loaded when needed. The app itself should be smart enough to know when a spreadsheet is opened what modules it needs to load and lets the user know.
Excel now ships with a full IDE that lets someone have access to ActiveX and DirectX and all those other happy invitations to malware. Okay, there are things I need to do that I actually need a lot of that power - though I'd rather code in Python than VB - but Excel astonishingly and horrifically does NOT have the ability to do a simple keystroke macro to replicate simple tasks. The alleged "macro recorder" is a sadistic joke. Non-tech-savvy users hate that.
Using spreadsheets as databases - it's a valid point - excel isn't a database, doesn't play one on tv and shouldn't be confused with one. But a data table in excel is intuitive, available, discoverable. I can see the damn data!!!! I can fiddle around with it - quickly! - in a pivot table or the filter features. I don't have anything like the same ability to access data quickly and easily from the company's ERP system, and I certainly don't have the ability to poke around and explore the data when I'm trying to figure out what the hell is going on. I'm comfortable using SQL so real databases are no threat to me, but the data I need, locked away in some utterly inaccessible, uninterpretable ERP hell doesn't do me a lot of good.
Spreadsheet-as-user-interface metaphor is not going away - it's too powerful now. Some things that can be done to improve spreadsheets and excel in particular - make feature and function sets more modular - only load the ones that are needed or useful to a particular end-user. Improve the tools and documentation to make locked-down restricted-use spreadsheets the right way. Provide a lightweight click-and-keystroke macro facility and move the IDE-as-macro further away from the routine user. As for using Excel as a database - well, we can stop misusing excel for those purposes when there is 1) a general-purpose, intuitive tool that allows equally quick and simple access to data, and 2) more readily discoverable data in ERP systems.
Do not taunt Happy Fun Ball
...but there's a nifty explanation of at least one source of these errors here (pp. 13-16).
Time to hack the CSS and use a local style sheet.
/. redesign was actually a plot to force us to all learn enough CSS to override the damage.
The
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
Being able to use Excel doesn't qualify you as an accountant anymore than being able to use a PC makes qualifies you as a programmer. A large part of the problem is that many spreadsheet users lack an accounting or mathematical background. They are cubicle drones who have MS Office on their computer and are expected to use it.
http://redcone.net
The remarkable thing about this is that it is such an old story. I was involved in looking for improved ways of ensuring spreadsheet models were error free when i worked for the consultancy division of a large accounting firm back in the early 1990s.. Then we were focusing on developing structured methods for laying out / documenting simple spreadsheets (these were the days when Lotus 123 was top dog...), providing more specific training on how to build easy to follow spreadsheets and doing some formal auditing of work. But the biggest idea then was to simply use a better tool - even then people were developing software designed to make financial modelling (in particular) more rubust - including Javelin (from Ashton Tate I think) and Lotus Improv. Both these used multi-dimensional space to track results of formulaic relationships that defined the model (in Improv's case you could have up to 12 dimensions - and its innovative way of allowing the user to browse this datacube by shuffling 'axis tiles' was later crudely copied by MS to come up with the PivotTable - a pitiful copy of the original idea). The idea being that you define the relationship using (in Improv's case near-english language) formulas (such as Profit = Revenue - Costs, with Revenue and Costs being defined separately by other formulas, or simple data vectors). Improv included (as with other similar products) the idea of sequences within dimensions - so you could have 'previous' and 'next' modifiers in formulas which was great for financial type analysis etc. The key was the formulas were were distinct from the numbers themselves (separating code and data as you might now say). It allowed you to do some very powerful modeulling with high confidence levels. I used Improv a lot for a few years, but Lotus never worked out who its client base was, and it finally died in the mid 1990s. A great pity.
A short review of spreadsheet evolution appears here.
I seem to recall that someone still sells an Improv like product, but not sure where / what it is, or if it is well liked.. .
So that's why the homebuilders like KB Home keep reporting record profits when they aren't really selling anything, aren't paying their subcontractors and layoff half of their employees...
Or to borrow a rule from finite element analysis: don't run the analysis unless you know what answer to expect. i.e. Know your stuff and don't blindly trust a computer.
Then again, CS has had a more succinct version for years: garbage in, garbage out.
The world is made by those who show up for the job.
Hm. remember the old idea to attack western crapitalism: write a virus that attacks spreadsheets silently rather than being "look at me" malware, changing the odd figure here and there... Or maybe it's unnecessary...
It amazes me, with all this technology at our fingertips, the default way of storing information for many office workers, is an Excel Spreadsheet, not with any complex formulae, but simply as lists of information, that are only accessed by cut and paste, or by even more error ridden manual transcription.
This is worse than a manual ledger kept on a shelf, where at least large amounts of info can't be arbitarily deleted, and they may have some audit control.
I myself have worked or a large Telco, who through a subsidary maintained a large insurance companies network, they used a giant ( 17 MB ) spread sheet, filled with useless data, to alledgely manage this network. The only time I've even seen anybody using leading zeros in an IP address. No audit trail, No rollback except last nights backup, Single write access. Nightmare.
Must of cost thousands or millions of quid per annum in FUBAR, but the manager who wrote the awfull thing was "completely confident, that it did all required"
Spread sheets for any other use but pure number crunching and pretty graphs, are a cancer strangling your company.
This is NOT a signature.
I will give you what I consider the most blatant and insane example.
U.S. Constitution article III
The trial of all crimes, except in cases of impeachment, shall be by jury; and such trial shall be held in the state where the said crimes shall have been committed; but when not committed within any state, the trial shall be at such place or places as the Congress may by law have directed.
U.S. Constitution: Sixth Amendment
Sixth Amendment - Rights of Accused in Criminal Prosecutions
In all criminal prosecutions, the accused shall enjoy the right to a speedy and public trial, by an impartial jury of the State and district wherein the crime shall have been committed, which district shall have been previously ascertained by law, and to be informed of the nature and cause of the accusation; to be confronted with the witnesses against him; to have compulsory process for obtaining witnesses in his favor, and to have the Assistance of Counsel for his defence.
Now to me and I think to 99.999% of americans the phrase ALL clearly means every single instance.
To judges and lawyers however this is apparently different. As it currently stands you do not have the right to a jury trial.
Service guarantees Citizenship! Questions Guarantee GITMO.... Amerika Uber Alles!
I see where yoo're coming from, but I'm not so sure about this particular statement -- after all, a spreadsheet is effectively quite a specialised functional program. It can have bugs if it hasn't been designed well, but so can imperitive programs. Try writing a complex program where you're not at risk of changing something a million miles away by changing one line. From my observations it can happen all the time if a programmer's not careful, and sometimes even if they are careful.
The difference is that until now, a lot more research and education has probably gone into writing imperitive programs. People who usually write spreadsheets, on the other hand, tend to get their education of them (if any) as an afterthought to some quite different financial education. Personally I think the problems lie mostly with the techniques people use to create complex spreadsheets, and there's probably a lot that could be improved with the spreadsheet applications, too, to help prevent bugs from being introduced.
I doubt many people use well developed and proven techniques for engineering their spreadsheet applications, and if they did, I doubt that the spreadsheet applications would support them. Putting more emphasis on separating the raw data from the logic would be a good start in my opinion. Some people who are better at doing this go to lengths to colour code things, lock cells, and so on, but the tools don't exactly encourage or force people to do this.
But this is all just similar to the sorts of research that have been going into more obvious types of software development over the last two decades or more. Personally I don't have a problem with treating spreadsheets as applications in our own system. Fortunately in our case, the people who write and use them here tend to know sufficiently about what they're doing that they're not so brittle. Also for those sorts of applications, they simply seem to be the best tool for the job.
Are you sure? A cursory glance at some standard IT resources, like, hmmmm... the Internet for example, shows that most people who are saying "TCP/IP stack" are actually talking about the IP stack of which TCP is one part. Sometimes they aren't even that close to being correct; they'll refer to ARP, for example, as part of TCP/IP, or start talking about MAC addresses.
I like job security myself, but dislike getting phone calls about stuff only I can fix.
Man, you really need that seminar!
We recently received a spreadsheet (Excel) with tens of thousands of rows. Visually, all of the rows looked correct, so after spot checking, we imported the data into a database (SQL Server). Hundreds of the imported rows had NULLs in the database columns, in a fairly unpredictable pattern. The culprit? Some of the rows consisted of numbers where the leading zeros were important (essentially a text pattern, but only containing numbers). If the number didn't have leading zeroes, they entered it as a number. If it did have leading zeroes, they put a single quote to force it to a string. Short of scanning the column, it looks the same. The worst part is that selecting the column and applying a format (number or text) doesn't change the internal representation and the database import was looking for one data type and ignoring the ones of the different data type. The fix was easy, but weird - create a new sheet, define the datatypes of the columns correctly, then copy and paste the data from the bad sheet to the new sheet. Just doing this (and changing the database import to work with the new sheet) got us 100% of the fields imported.
This type of thing is what we see most commonly when accessing data from spreadsheets - the users concentrate on the screen or print presentation of the data instead of the constraints on the data (types, ranges, values, formulas). Sometimes, they'll hide columns (which is a good technique for hiding intermediate calculations that you don't want to print), but this screws up the database imports as well (or at least makes you go back and redo them several times wondering where the other data is coming from).
Bottom line is that spreadsheets have their uses, but they suck as databases.
Of course, there is one other major abuse of spreadsheets - using them as drawing programs or diagramming tools. I've even seen a user manual written in Excel!
-- stream of did I lock the front door consciousness
is that spreadsheets blur the lines between program (it does something), data store (it stores data), and report (it formats the data for printing) in such a way that someone eliminating unwated stuff from the report (say to make a printout neater) can in the process screw up the program.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
"How are Slashdotters coping with the proliferation of spreadsheets in the face of greater legal accountability and auditing?"
If you want a spreadsheet, you can simply export it by using a query to the database.
All auditing by HIPAA or other accountability issues are no longer an issue (depending upon your database structure of coarse).
People who use spreadsheets AS databases, need to be fired, or removed from their "IT" position.
the only permanence in existence, is the impermanence of existence.
I think you're looking for Subversion + Apache with mod_dav_svn. You can mount your subversion repository as a filesystem, and all of your changes will be transparently tracked via subversion.
I've never done this myself, but I was looking for exactly the same thing a while ago, and stumbled on this (rather amazing) bit of setup. Perhaps someone with a little more knowledge of it can fill you in, but I know it's possible, and Google is probably your friend.
This wheel has already been invented, and extremely well by the looks of it. It's even HTTP-based, so it should work through proxies.
You'd have myfile.c;15 myfile.c;16 and if you saved it again you can predict the result. When you are running low on disk or get annoyed by too many pages of filenames you can PURGE. To retrieve an old file version, just use the ";x" suffix.
You can recover from many mistakes with this. Now that disk is so cheap it should be everywhere. But it's not.
Now I miss posix.
Man, you really need that seminar!
You can already do this using a program called Turboexcel, which converts excel "programs" into C++ (which can still be used within excel, but run 100 times faster). The banking industry uses this quite a bit.
http://www.turboexcel.com/
-R
A few years back I created a quick and dirty double entry bookeeping workbook for some stock traders. As time went on, it grew from a few spreadsheets to over a hundred with about a thousand formulas on each sheet. I tried hard to carefully enter each formula but every once in a while I find a data entry mistake that I made long ago. The mistake is usually a typo in a variable that changes from column to column along a row. Many of the rows were made by copying an existing row, pasting it somewhere else, and changing one variable per column. Fortunately, a double entry bookeeping system almost always catches such errors. I suppose two offsetting errors are possible but unlikely. I think the value of double entry accounting is underappreciated. I once read that it was one of the more important inventions of man and I laughed that off until I actually had to use it.
While I can see the point of this topic, are we talking about typo errors? Those exist everywhere. Unfortunately they are magnified when you are dealing with a SSN or a decimal place in a monetary figure. Microsoft DID come out with Visual Studio Tools for the Office environment that does make their Office tools much more interactive and safer. I happen to be working on an Excel spreadsheet now that hooks up to a web service. Who knew?!?
Ironically I used to make a living writing custom business applications which helped eliminate the errors caused by incorrectly using Spreadsheets. The programs were compared to the results of hand calculated results that where tripled checked for accuracy. I worked until the application's results matched the formulas used and the hand and calculator checked work.
Usually the evolution went something like this:
Excel -> Access -> Visual BASIC -> Active Server Pages.
Sometimes Access and Visual BASIC were skipped to go straight into an ASP developed Intranet. Sometimes the employer just wanted an Access based database with forums. Whenever they found someone using and Excel spreadsheet, they came up with an idea to make a Database out of it and a custom application using Access BASIC, Visual BASIC, or Active Server Pages.
Other languages and platforms can be used for the same results. Keep in mind that bugs can develop in custom applications that can yeild incorrect results. That bugs often come about when a rush is made to meet deadlines, or the programmer is told to skip the analysis and design cycles and start coding on day one. There is a proper way to do this to minimize bugs, and there is an improper way to do it which maximizes bugs.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
30.) Spreadsheet slips on a banana
Genius! This would be the great title to an article about somebody getting caught storing their pron in a spreadsheet at work!
You say that like it's a bad thing. Unless TV and the movies have lied to me, secretaries tend to have bigger tits and looser lifestyles than accountants do.
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
Spreadsheets are a great tool, but in a much more limited context that how they often are used. I see a lot of my colleagues in academia managing all of their data in spreadsheets, from data entry, error checking, and even a disturbing amount of actual analysis.
What I find works much better is to set up a simple relational database with data entry forms that limit your ability to make silly typos. Then I visually check over the data in a spreadsheet, to catch obvious errors, like mis-placed decimals. But I don't make any other changes to the data in the spreadsheet. For everything else, the data gets exported to R, where I do all non-trivial error-correction, calculation, and analysis.
This means that any changes I make, and all calculations and analysis, are stored in commented R scripts that I can review months later and still make sense of. This is a little harder than whipping up an Excel spreadsheet that does everything in one undocumented step. But I imagine in a big company you'd be able to build real simple GUIs for 90% of the users who just need to enter data or print out reports, and leave the messy in-between stuff to the IT folks.
yp.
I'm confused as to the problem; in most domains that I work in (both professionally and personally), self-verification of the spreadsheet is typically very easy. You can even devolve it to a single idiot box like ERROR!/OK.
Zimbel
How are Slashdotters coping with the proliferation of spreadsheets in the face of greater legal accountability and auditing?
By giggling and thinking to myself, "see, that's what happens when you spend more on management than you do on mathematicians and logicians." The giggling helps.
As for non-Slashdotters, the will deal with this by hiring high priced lawyers for the high priced execs. The lawyers will argue that 1% is far better than could possibly be expected, therefore the VP who did it should not be held accountable - surely SOX is meant to cover willful acts, not innocent mistakes. The VP who did it will then get a bonus for publishing the faulty quarterly report which resulted in the stock going up 2.5 points.
Note that of those innocent mistakes that make it into published results, over 75% will result in lower P/E ratios, higher EBITDA, or something similar, with less than 25% resulting in no significant change or an inverse change. If anyone other than a few university economists notices this, they will simply think, "gee that's funny", not "gee, that's statistically significant."
What was the question again?
Stop-Prism.org: Opt Out of Surveillance
Spreadsheets are handy, but yes they contain errors, and if all of the formulae in them are created without testing (ymmv) those errors will propagate and not be caught.
Accounting software goes through a directed QA process (ymmv) and will catch errors (ymmv) and will refuse to propagate them (ymmv).
So the solution is: BUY ACCOUNTING SOFTWARE. Stop using your own spreadsheets for legal records. They're no better than your input, and are capable of making the result worse.
I just finished helping an E. Eng. with a 1,000-row, 120-column monster with 300-character formulas. It was not humanly possible to manage all the formulas using just Excel, so we abstracted them into VBA functions. Made the spreadsheet much neater and comprehensible.
Slashdot entertains. Windows pays the mortgage.
Check out something like Quantrix http://www.quantrix.com/ a reincarnation of Lotus Improv
You see, we have these ridicilously large spreadsheets which are really boring, and in order to improve morale Marketing deciding to add 'Pink Font Colour' as a critical requirement. Naturally, this requirement was 'overlooked' so we ended up sending in large amounts of spreadsheets with critical errors on every single cell; even the empty ones. >p> What happended? Now, the accounts didn't mind the pink colour, as they're all colourblind anyways; the only reaction there was one guy sighing and turning up the contrast on his monitor. The engineers didn't mind too much either, as the pink colour faintly reminded them of somebody, and the fleeting sensation really did bring some joy into their lives before they were wipped back to work.
The problem was of course with the web-designers. Two of them plain suicided when they saw the colours, while several others ran around screaming for hours.. Naturally, they started a project to change all the colours back. Being web-designers, they did this one cell at the time. Luckily they did get finished in time for our spreadsheets to be part of this survey.. it only took 20 men two weeks.
"" How about taking the safety labels off everything, and let the stupidity-problem solve itself? """
About 10 years ago, a Silicon Valley manufacturer of medical imaging equipment hired me to do accounting work for them. Among my many tasks for this firm was the weekly generation of a report based on the company's current accounts receivable balance. I was told that this report was very important since it was used by one of our execs. during his weekly 'power breakfast' meetings with the other heads of the company.
A month after I arrived at the company, I noticed that the numbers didn't look right when I generated this weekly report. I started examining the spreadsheet formulas and soon found a small error in one of the calculations we used to derive our total balances. I notified my manager and we both agreed that the original spreadsheet wasn't giving accurate results. I corrected the formula and then patted myself on the back -- after all, I'd uncovered an error that many people, including my manager, had missed for months. I thought I was in good shape at the company after that because I'd done the right thing. I'd fixed a problem. Yay for me.
However, a week later, my manager brought me into his office to talk about the issue. I was more than a little surprised when he asked me to go to my desk and change the formula back to what we'd used before. I asked my manager if he still agreed with me that the old formula was giving incorrect data. He just smiled and said yes, he agreed with my original assessment. I was right, he told me, but our exec. had still asked him to revert to the old formula, no reasons given.
Shortly after this incident, my manager again brought me into his office. He had a pained look on his face as he began to tell that the company wouldn't be needing my services anymore. My manager never gave me an explanation as to why, but I didn't really need an explanation. Even though I'd uncovered an error in the company's accounting procedures, I'd made an even bigger error in the process -- I made our exec. look bad when he handed out the correct report during his power breakfast meeting. It turned out that the numbers weren't so rosy that week as they'd been in previous weeks. The other company heads wanted to know why. I'm not sure what our exec. told them then, but I can't imagine it made him look good no matter how he tried to spin it.
I suppose, if the numbers had looked better using my correct spreadsheet calculations, maybe I'd have received a raise from that exec. In this particular case, and much to my surprise, the wrong answer was the right answer in his method of bookkeeping. Frustrated by this incident, I left the accounting business soon afterwards. As it later turned out, the company went belly-up years later. Looking back, I like to imagine that reason was that the company's bankers were using spreadsheets based on mathematics instead of wishful thinking. Then again, after seeing what happened with Enron, I wonder if the bankers were in on it too.
This may be redundant (It's 2 am, I seriously need to go upstairs and lie down, not look through all the other postings), but spreadsheets screw up more than financial data:
i shing_dna/
http://www.theregister.co.uk/2004/07/16/excel_van
There are third party tools that do a good job at finding spreadsheet errors. The common, hard to find ones such as incorrectly copied formulas and incorrect A1 references.
The Spreadsheet Detective is one of the oldest and most established, http://www.spreadsheetdetective.com/
Like all software development, peer review is the key. But for spreadsheets, this is infeasible without tools.
Anthony
its simple, i can understand it, and i can get my work done today. these are all important things, so all the programmers should stop being snotty and superior , and instead focus on being helpful, which would mean providing excel add ons and training that solve a lot of the problems.
I bet you dollars to donuts tht 90% of the errors come from a small number of mistake classes, that could be handled easily.
I furhter bet that the smart it guys have scripts that check all the spreadhseets for some of the common errors.
I gave up on spreadsheets when the formulas were not persisting through save and close cycles.
I guess I'll never be a point and click user.
If I can't do it in dc, bc or an awk one liner then I go ahead and write an awk script. If you can't "awk it" then R or Octave may be the solution. Want a nice binary? Use C or Fortran. Big thanks to those linux guys for putting all those tools into circulation. I just love to uncover a gem with man -k for command line use.
Autonomous Retard -- Is your camp safe? UnsafeCamp.com
Spreadsheets are the triumph of the presentation of data over common sense.
Quite apart from the fact that some of the calculations are just plain wrong (and lack precision and are subject to systemic errors, such as rounding) the 'matrix' is often abused into serving as a data table.
Dan Bricklin may have latched onto a good thing for Apple but the unleashed idiots who used VisiCalc (and have continued through to Excel where the spreadsheet metaphor finally died,) have never had more than a clue as to what it really was.
ANYONE who trusts it to be any more than a "what-if" exercise is an IDIOT.
ANYONE who trusts it even as a "what-if" exercise without backing up the calculations with some sound math is an IDIOT.
ANYONE who uses it to store tabular data is an IDIOT.
Basically, its a fucking nuisance.
I once had to verify some calculation routine that we were using because 'the user said it was wrong.'
I spent two friggin' weeks going over code, trying it over and over again until I could prove that the code was accurate to fifteen digits on either side of the decimal place with ALL the friggin' math equations.
I finally asked my boss where the error was supposed to be. How did the user know that the calculations were wrong?
I was told to wait and he'd go and ask... The end result was that the IDIOT was actually using Excell to calculate yields on some very large and very long term bonds that they were trading.
The IDIOT was actually expecting my software to give him the same results as Excell.
Never mind that Excell is a fuckin' toy with rounding errors on nine digits (I said these were LARGE bonds) and the calculations used Newton's method of approximating integrals.
I felt like killing them all for wasting my time like that.
If they'd have told me what I was REALLY trying to prove (that Excel is a piece of shit) I could have done that in a minute just sitting down with the user and letting try things (that I knew weren't going to work) to try to prove to me that Excell was an accurate calculator.
Thank God he wasn't trying to use it to store his data. (I'd have ripped him a new ass-hole with a rusty can opener.)
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
A1:A7 was a necessary (computer) memory-saving expediency --- http://www.bricklin.com/history/intro.htm
4 371353?v=glance
Not necessary now though --- http://www.simson.net/clips/91.NW.Improv.html
At the very least, I know of one accounting firm which requires only named ranges be used in calculations --- (cited in ) http://www.amazon.com/exec/obidos/tg/detail/-/053
William
Sphinx of black quartz, judge my vow.
"TRUST THE CENTRAL LIMIT THEOREM!"
Any budget or cost estimate is usually the sum of many smaller items. Whether you are dealing with cost estimates or charge accruals, errors will inevitably creep in. Even if the errors for any single item are huge (say, 100%), the central limit theorem tells us that the error in the sum, at least expressed as a fraction, will be much smaller. As a consequence, I maintain that we should not obsess over the details - they will average out in the end. The big picture will take care of itself.
... is for spreadsheet vendors to offer a "compiled spreadsheet" option that would not allow any changes of content, only format (font/style/size). It would not eliminate logic errors in the spreadsheet -- although some level of increased error detection could be employed in the compilation process -- but such an option would eliminate errors due to user meddling with the internals, since they would not be able to delete/add rows, columns or individual cells.
The same effects can be obtained through password-protecting sheets, but having a "compiled" spreadsheet option makes for a more idiot-proof way of accomplishing this result.
Another thing that could be done by the spreadsheet vendors is to create an "assertion" sheet, where formulas listing groups of cells that should always be identical, or non-zero, or positive, or negative -- or any relationships between critical cells can be listed, generating an error indication should the any of the assertions be violated. Again, this can be manually coded in today's spreadsheets, but having the spreadsheet program prompt to create an assertion sheet would help make this a part of every spreadsheet. Answering "no" to the prompt to create an assertion sheet would result in a visible indicator that assertion-checking was disabled (maybe a custom color in the title bar).
The same approaches that are used to improve error detection in traditional compiled programs can be also employed in the creation of spreadsheets -- all that is required is taking the belt + suspenders approach to coding.
An ideal spreadsheet program would be written in a functional style, but since most spreadsheets do not allow you to have extra variables in your functions (all variables are cell addresses), nearly any complicated spreadsheet application uses numerous temporary or hidden cells for intermediate calculation data. That's not fuctional programming at all, it's tons of global transitive state!
Stop intellectual property from infringing on me
Problem is businesses today is cheap after the shares of most companies went down during the .bomb.
...
Instead of using third party or custom database apps, many corporations used excel spreadsheets that have hundreds of thousands of rows. Yes I have seen them. Shudder
How do you debug them? Most humans are not programmers and real programmers of course would never let htis happen and would develop a costum app for each task instead.
http://saveie6.com/
Why is it that spreadsheets have become a bane today for such uses? Could it be that better software alternatives are available today? or that excel macro errors are quite often overlooked and people don't recheck the code/calculations via paper-pencil (too much work)?
it would be wiser to do a need based analysis of which tool to use. if one has to use excel, then the sheets need to be tested properly before being deployed. treating them as quick hacks - and not checking for errors - will lead to disastrous situations.
* lon3st4r *
It's the color of broken statistical routines.
Although some clueless idiots marked me as flamebait, I would suggest to use for example Gnumeric instead of Excel. Excel is broken, it won't be fixed, get over it.
Slashdot - marking people as flamebait for telling the truth.
You can take your fancy-dancy highlights and graphs and shove it somewhere else.
Artist will always make art.
"How are Slashdotters coping with the proliferation of spreadsheets in the face of greater legal accountability and auditing?" I build-in closed-loop reality-check calculations at key points all over the sheet. Thus if Column X should equal Row Y, I simply make sure it does. (No-brainer surely? Or have I missed something?)
I've met people who used buzzwords they didn't understand to sound knowledgeable, and believe me, it wasn't the programmers. It was the occasional management or marketting guys who thought that they'd look like programming experts if they use those. They spend their whole day using bullshit buzzwords in meetings, that they start assuming that everyone else does the same.
Look, I don't use acronyms to sound cool. I use them because they're mean something _very_ precise that are backed by a whole tome saying what they mean, what they do, and what they don't do. They're not there because they sound cooler than another common word, but because it would take tens of thousands of words to specify the same thing with the same detail.
E.g., when I say TCP/IP, it's not just a funky way of saying "over the net". It also tells another engineer exactly what kind of a net, and how. You could print a tome with all the RFCs (basically, standards) it complies with, or at least doesn't interfere with. It tells you something about the kind of hardware and software you need too.
E.g., when I say it's an EJB application and uses SOAP over JMS for messaging and JAAS authentication over LDAP, it's not just for the sake of having some "enterprise" buzzwords. It tells you the exact software you need to run it, exactly what protocol you can talk to it over, what you'll store the user accounts in, and exactly what you need to change if you want those passwords stored in an Oracle database instead. E.g., it tells you that if you want to interface another app to it, a SOAP framework (e.g., Axis) might help. There are whole books that define each of those "buzzwords" in painstaking detail, and define exactly what they do, what they don't do, what they can connect to, what's optional, and what you probably shouldn't use if you don't want to be tied to a single vendor.
It's not even possible to say the same in plain English, or not without writing a whole bible-sized tome.
How would you say that? "Some modules that talk over the net"? Well, that's fine for a quick talk talk to the customer, and we all do it all the time too. But same as in law, it doesn't help you if you wrote a spec like that. What kind of modules? If you want to add your own, what exactly do you need to write? Over what net? IPX maybe? In what format is that talk? If next year the HR database guys want to ask for data from ours, in what format would they send their request and how? If next thing they want it changed to take the user passwords from the portal guys' DB2 database, exactly what has to be changed? Etc.
A polar bear is a cartesian bear after a coordinate transform.
Many of the complex spreadsheets I've done in the past have at least 2 paths of computing the result. If the 2 results don't match, display an error.
Tell us how you really feel.
Join Tor today!
He wants "Excel Expert" Masters.
Apparently this guy is enslaving hordes of Excel Experts for his plans for world domination. And if he's reading this: for the record, I for one, welcome our Excel Expert overlords.
http://www.eusprig.org/ European Spreadsheet Risks Interest Group
http://www.uwic.ac.uk/eusprig/2006/index.htm The Sixth annual conference theme is Managing Spreadsheets: Improving corporate performance, compliance and governance.
And I'll add a plug got my book:
http://www.sysmod.com/scc.htm
If spreadsheet users had a driving licence, this would be their seat belt, air bag, navigation aid, repair kit, hazard indicators, and the rules of the road. This new book describes how to produce well-crafted spreadsheets that are easy to understand, maintain, audit, and operate. It shows how to ensure data quality and accuracy and protect against formula and operational errors.
I'm not even opposed to keeping it at a "it'll be a form on which you can enter data" level, but usually the problem is:
1. The poor sap has already been confused by some marketting guy (ours, IBM's, whatever) that he absolutely needs SOAP, BPML, Web 2.0 compliance, etc. Or he's read some "IT for managers" ragazine and now he thinks he's a software architect. E.g., I've had some management type decide that I must do an application in Visual Fox Pro instead of, say, C++ or Java, because, in his words, "Java isn't Visual enough." The guy had had a couple of hours with a MS sales drone that showed him how easy it is to drag buttons around on a "Hello World" form, that now nothing could convince him that there's more to programming (e.g., being able to refactor, or debug sanely, or a dozen other things) than dragging buttons around. Or that saving a single-user database's file on the file server does _not_ make it a substitute for a real database.
Basically, as the saying goes, "if you can't stand the heat, get out of the kitchen." If the CFO doesn't want to talk about database record locking, then he shouldn't try to design the application for me. If he's trying to discuss such engineering issues as what database to use, then he damn better not act offended if he gets actual engineering talk. He may be able to understand how much dollars he'll save by dumping a Fox Pro (or Access or Excel) file on a file server, but he better also be able to understand when I tell him why that'll be a liability when 20 people try to use that file at the same time. Or refrain from pretending that he's a software architect.
2. When discussing the Why / Why Not and Other Options, those seeming buzzwords can actually make or break the whole thing.
E.g., if I have to explain why my solution needs some kind of messaging server or database server instead of just dumping a file in a shared directory, there's no sane way of explaining that without some reference to XA Transactions and the like. And why you need those to ensure that if customer X bought product Y for Z dollars, either both the payment and the order to the warehouse must _both_ succeed or _both_ must fail. Having a system that's held together with spit and duct tape, and people routinely get their money taken but get to battle the support guys to actually get the product, won't even save the company money, it'll cost more in lost reputation. But there's no way to explain why his great idea of saving money by using an Excel spreadsheet on a file server can produce the problem, without, you know, at least mentioning the engineering theory behind it.
A polar bear is a cartesian bear after a coordinate transform.
Sure just help me migrate ths boatload of macros (aka VB) over. What? You can't!
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
Spreadsheet errors are hard to fix and errors are easily replicated because the "logic" is not transparent -- the formulas are contained within the cell. Only the creator of the spreadsheet has a prayer of understanding the intent of the document, not to mention the function of each cell. While the spreadsheet might be ubiquitous, serious number crunchers need a better application. There are a lot of enterprise financial modeling apps, but they don't help desktop users. A company in Portland, Maine has developed something called Quantrix Modeler. It's multidimensional, formulas are contained outside the cell, and use natural language. There's a 30-day trial version at http://www.quantrix.com./