為什麼電子表格會導致錯誤 - 第1部分2010年,備受尊敬的哈佛大學教授Carmen Reinhart和Kenneth Rogoff發表了這篇論文“ 債務時期的增長對於那些反對增加政府支出的人來說,即使在需要經濟刺激的時候,它也很快成為有力的支持證據。本文研究了不同時期跨度的許多不同國家的債務水平,並得出結論,當他們的債務水平達到其GDP的90%時,經濟增長將大幅放緩。如此有影響力的報告是眾議員Paul Ryan在其2013年預算中引用的。
然後,2013年4月,來自馬薩諸塞大學阿默斯特分校的三位經濟學家在萊因哈特和羅格夫用作結論基礎的Microsoft Excel電子表格中發現了編碼錯誤。哈佛教授很快就承認了他們的錯誤,但他們表示這不會對分析得出的結論產生實質性影響。
雖然你當然可以爭論他們的結論是應該保持還是下降,但仍然會發現這個錯誤沒有被發現 - 這個政策是基於分析的。知道甚至愛Excel的人並不奇怪,錯誤可以而且確實發生 - 通常。
自2013年4月以來,涉及Excel的其他著名錯誤已成為許多文章的主題。一個最近的CNN Money雜誌文章記錄了幾個這樣的錯誤 最大的錯誤導致:
摩根大通' 2012年的交易虧損為62億美元。用於監控風險的Excel模型涉及多個手動步驟,並且應該在平均值時添加一個單元格。 MF Global: 在破產前大約一年,MF Global從未對其監控風險的Excel電子表格進行必要的升級。巴克萊收購雷曼兄弟: Excel電子表格中有200個隱藏單元格應該已從巴克萊打算購買的資產清單中刪除並刪除。因此,巴克萊銀行買入了179筆有毒交易。歌 H: 猶他州的教育辦公室錯誤地計算了入讀該州公立學校的學生人數。“電子表格中的錯誤參考”導致2500萬美元的預算缺口。這是博客文章系列中的第一篇,將討論如何使用Excel從優雅簡單到變得越來越困難,因為數據被刷新或添加以及進行更改。
本系列還將建議有更好的工具,旨在提供一個分析的更多治理,而不會放棄易用性和靈活性。
讓我們從一點歷史開始吧。
電子表格 - 他們永遠改變了我們的生活
電子表格的歷史可以追溯到20世紀60年代的批處理器,但是我們將在稍後開始使用最初出現在Apple上的處理器 ® 1979年的計算機:VisiCalc。
VisiCalc的

我記得很清楚,當一位朋友給我看了他的新Apple電腦並插入了一張5.25英寸的軟盤,片刻之後,他的綠色和黑色CRT顯示器上顯示了VisiCalc。(如果你必須查看CRT,你在計算機世界中只是一個寶貝。)
我驚訝於他能夠多快(蝸牛在當今世界的節奏)改變價值並重新計算他的結果。這就像魔術!
根據維基百科 ,VisiCalc繼續成為第一個殺手級應用程序,這個應用程序非常驚人,以至於我朋友的公司只會單獨使用它來購買電腦。
VisiCalc在該公司的成功中發揮了重要作用 Apple II 計算機,該程序後來可以在當時流行的其他計算機上使用。
蓮花1-2-3
1983年,我是一名為消費品公司工作的年輕系統分析師。就是這樣蓮花1-2-3 是為IBM PC發布的。我記得看到它,並向我的老闆推薦這款產品將為我們帶來巨大的競爭優勢。我說我們應該為我們的會計部門購買三台裝有Lotus 1-2-3的機器。我的老闆起初持懷疑態度,但我說服了他。這是我做過的最好的職業生涯之一。Lotus很受歡迎,很快就擊敗了VisiCalc作為領先的電子表格產品。
Microsoft Excel
微軟發達高強在...上蘋果 ® 從1985年開始的幾年平台。該公司重寫了Windows 2.0程序,於1987年發布,根據維基百科 。Windows版本的發布大大增加了Excel的市場份額。Lotus無法重新獲得它在Excel中失去的市場份額,而且微軟繼續領導電子表格市場。
電子表格用戶從未回頭。今天Excel是如此普遍,並且仍然如此易於使用,我還沒有遇到任何為現代世界任何不了解它的學科的組織工作的人。但是,哦,多年來它的使用方式發生了變化。
在我的下一篇文章(下週三)中,我們將了解Excel的優缺點。與此同時,你有任何可以分享的Excel恐怖故事嗎?
John Tate寫道:將電子表格視為......是有用的。約翰泰特中寫道:
將電子表格視為一種編程工具是很有用的。因此,它有一些優點:
它非常容易使用,至少對於相對簡單的問題,甚至對於一些更複雜的問題,它仍然不太難。
它是靜態的,意味著這裡的這些單元格是你的數據,那裡的那些單元格是你的公式,它們保持不變。您不必考慮循環,過程調用,堆棧操作等動態行為。
從某種意義上說,一切都是可見的。如果選擇一個單元格,則會看到其值或其公式,就這麼簡單。
還有更多,但你明白了。
它們也有缺點,通過這些缺點很容易否定其優點。例如:
您可以通過多種方式隱藏信息。巴克萊的案例就是一個例子;我還看到了將某些單元格鎖定在電子表格中的建議,這些單元格旨在供使用輔助技術的人員訪問,並通過使背景和字體顏色匹配來隱藏內容。
單擊鼠標時某些操作是動態的,例如排序,導致失敗的銷售佣金等失敗。
簡而言之,在電子表格中編寫編程錯誤就像在任何其他編程系統中一樣容易。因此,如果結果很重要,它的功能,靈活性和易用性對任何其他編程系統都有同樣的紀律需求。
Charles Pirrello寫道:嗨約翰。不確定我完全是...查爾斯皮雷洛中寫道:
你好,約翰。不確定我完全同意。我在整個職業生涯中都使用過Excel,我仍然是粉絲。我實際上對它能做的事情感到敬畏。但我主要擔心的是它被濫用,尤其是在重要決策的基礎上。所以我非常尊重這個產品,但是知道它什麼時候不合適。
查爾斯·皮雷洛寫道:尼爾,說得好。我從不暗示......查爾斯皮雷洛中寫道:
尼爾,
說得好。我從不暗示Excel本身容易出錯。只是它非常靈活,其使用已超出其原始意圖的能力。你是對的,如果更多用戶了解了創建正確數據文件所需的規則,許多錯誤將會停止。然而,這帶來了一個有趣的困境,我確信微軟已經發現自己被迫陷入困境。Excel變得非常成功因為其靈活性和易用性。然而,這種易用性犧牲了結構和控制 - 我認為是有意的。微軟沒有辦法想要開始施加必要的結構類型來迫使其用戶更加自律。如果他們有,我相信當前的Excel足跡只是它本身的影子。因此,它的受歡迎程度和用戶群不斷增長,並繼續被推向極限。
Charles Pirrello寫道:感謝您對Adam的評論。這個...查爾斯皮雷洛中寫道:
謝謝你評論亞當。這確實提出了重要的一點。我不是說Excel 本身很容易出錯。只有它非常靈活,用戶才能無意中不正確地執行任務。在您的示例中,我們不能責怪Excel。它完全按照你的要求行事。
Charles Pirrello寫道:嗨Emil,感謝您的評論......查爾斯皮雷洛中寫道:
嗨埃米爾,
感謝您的評論。您的示例說明了Excel單元格是獨立實體的事實,這些實體不受JMP提供的嚴格數據治理的約束。我將在後續文章中更詳細地介紹這一點。
約翰施密特寫道:我真的沒有恐怖故事。中號...約翰施密特中寫道:
我真的沒有恐怖故事。更多我稱之為ABM的指導原則。
除了微軟之外還有什麼
亞當·斯密寫道:作為碩士論文的一部分,我創造了......亞當史密斯中寫道:
作為碩士論文的一部分,我在Excel中創建了一個仿真模型。在我花了很多時間創建初始模型之後,我開始根據期望驗證我的初始輸出。事實證明我離開了標記!然後我花了大部分時間檢查每個公式和細胞參考,但我找不到任何錯誤。我沮喪地回到驗證電子表格,發現當我複制並粘貼我的結果以與我的期望相比時,我沒有復制值 ,而是我複制了公式 。因此,這些數字毫無意義!當我回去並將我的模型中的正確值與我的期望進行比較時,他們就被發現了。我的模型沒有任何問題,只有我的驗證步驟!
邁克克萊頓寫道:太棒了!謝謝你的例子和嗨......邁克克萊頓中寫道:
大!感謝您的例子和歷史。我期待第二部分。
我記得Visicalc的影響,我還有我的Apple Mac SE,它有Excel 1.0,因為Gates喜歡(和克隆)了第一批Mac的想法。他的Excel版本1運行在49K。當前版本略大。我還記得當他的團隊在一個版本的Excel中隱藏Flight Simulator時。還有浮點錯誤和統計加載項錯誤。
有許多Excel模板聲稱支持六西格瑪,SPC等,並且必須在使用前進行全面測試。它們通常花費大約250美元,主要是試圖改進Excel的圖形和統計功能。但是每個圖通常需要特殊的數據結構,這通常對於每個圖都是唯一的。
在我的一些客戶中,JMP用戶在更關鍵的數據分析和報告工作中支持100個或更多管理和QA以及使用Excel的供應鏈人員。不可避免地,一些excel結果被作為JMP錯誤的“證據”發回,這在Excel方面證明是人為錯誤。一些舊的excel宏實際上運行了主要的企業操作,其中存在錯誤的代碼,隨著時間的推移被“忽視,因為已知錯誤”,但作者已離開公司。
尼爾寫道:這很有意思,但當然是關於...的問題尼爾中寫道:
這很有趣,但當然你從CNN片段引用的例子的問題是老式的用戶錯誤,而不是Excel可能被認為是負責的錯誤。
如果公司決定採取行動,他們就不能起訴微軟,因為Excel沒有按照預期行事。我想你以後要強調的是,可以通過不同類型的軟件來檢查錯誤,以便更好地控制,但是這些錯誤中的一些 - 比如200個隱藏的行 - 仍然會發生,無論如何。
通過控制常見錯誤可以最大限度地降低人為錯誤的風險,但幾乎不可能完全消除它們。
當然,Excel非常靈活,正如您所說,它遠遠超出了它一直以來的基本電子表格應用程序。您現在可以構建控件和測試,就像您在其他應用程序中構建的那樣,通過基本公式檢查,嵌套IF語句或通過VBA。許多定制數據軟件都缺乏這種靈活性,這種軟件以其封閉和受控的性質而自豪。
這種性質既是積極的,也是消極的,這就是Excel用作電子表格,規劃器,應用程序,報告工具,數據分析工具的原因,已經超越了其他軟件。
無論如何 - 恐怖故事。好吧,我還能想到許多其他用戶錯誤。當每個人都使用它時,當辦公室裡的每台計算機都有它時,就有很多機會誤解功能。
我遇到的真實場景:
1。用戶擁有個人列表及其每月銷售佣金數量。為了使它更好,他們在發送之前按字母順序對名稱進行排序。可悲的是,過濾器沒有突出顯示金額列 - 公司的銷售團隊都獲得了本月的佣金。哎呦。
2。使用數據提取時發生的錯誤之一。正在從公司CRM系統的IT摘錄中處理詳細信息列表。當然,提取物採用逗號分隔值格式。默認情況下在Excel中打開,用戶處理所有帳戶,突出顯示需要採取特定操作的所有帳戶,在IT系統中逐個仔細查找以識別錯誤。然後,他們以CSV格式保存並發送文檔,以便執行此操作。
通常的系統警告失明看到用戶忽略了“這將刪除所有格式”警告,第二天,部門收到了一封電子郵件,說“所有問題帳戶都突出顯示為紅色”,附帶的CSV文件當然沒有任何信息。格式。D'哦!
Emil M Friedman寫道:PS,我記得使用Visicalc。我...埃米爾·M·弗里德曼中寫道:
PS,我記得使用Visicalc。我已經在使用大型機SAS做了很多事情,包括它不適合的事情,但是Visicalc非常方便地以交互方式查看“假設”場景。
Emil M Friedman寫道:回到我的“工作之間”時期......埃米爾·M·弗里德曼中寫道:
回到我的“工作之間”期間,客戶想要一個分析,表明影響外觀的各種輸入對某些其他屬性沒有實質性影響。他提供了一個Excel數據文件,我立即將其導入JMP(版本5?)並進行分析。
我不再記得的東西讓我要他檢查一個特定的條目。在這樣做時,他發現組織中的某個人已經對Excel文件的一部分進行了排序,從而使輸入和輸出之間的關係失去同步。由於所有數據都是正確的,但只是在錯誤的行中,並且由於輸入確實對輸出沒有明顯影響,因此殘差圖和異常值檢查未顯示數據的嚴重損壞。
在這種情況下,這不是一個恐怖的故事,因為我按小時收費,每個人都同意必要的返工顯然不是我的錯。
重要的是:JMP不會讓一個人犯這樣的錯誤,因為它迫使你對整個文件進行排序,而不僅僅是一個意外選擇的部分。
約瑟夫寫道:現在是提及免費的適當時機......約瑟夫中寫道:
現在是提及免費和免費選項的適當時機,特別是LibreOffice及其堂兄Apache OpenOffice,Gnumeric等?
僅僅因為它昂貴並不意味著有必要完成工作(或者,在這裡的主題,王室陷入困境;)