怎麼減少 Excel 中的錯誤?

在數據處理的時候由於步驟繁多、數據量大等原因(最重要是自己粗心)總會產生這樣那樣的錯誤,怎樣減少錯誤爭取一次成型?


這是個非常好的問題,但是並不好回答。即使是面對Excel這種人人都會的工具,要想做到Error-Free這樣高大上的目標,如同要做到如何寫好程序一樣,需要引入一套方法論,從低級別到高級別分別列出。

第一層:提升輸入質量
通過使用「數據有效性」,減少輸入的錯誤,設置輸入的有效性檢查(比如:手機號碼是11位等等),盡量避免"Garbage In, Garge Out"。

第二層,加強檢查
通過「追蹤引用/從屬單元格」,對運算過程進行檢查,儘可能避免公式中的錯誤。

同時,還要對一些關鍵指標以及核心等式就行檢查。比如對於財務報表中最基礎的等式「資產=負債+權益」,在做Financial Modeling的過程中,都要設置專門的一行進行檢查。

第三層,提升自動化程度
就像在IDE中使用了關鍵詞提示以及經常檢查Code Review,還是不能寫好程序一樣,這裡面還有套路。

Excel中的錯誤經常發生在不斷的手工人肉操作,再簡單的事情做個幾十遍或者幾百遍,出錯的概率也會非常低,比如:著名的騙局,寫數字完全準確寫到600就給錢。因此在Excel中通過高階函數甚至VBA來提高自動化程度,避免反覆輸入函數或者重複操作,就能大大降低出錯概率。

比如,下面表格中,要求白色區域中的矩陣元素等於所在行、列及worksheet上對應數字的總和。最笨的辦法是每個單元格寫一次加總函數,重複幾十次值幾百次(應該會有許多張worksheet),非常容易出錯;進階的辦法是利用絕對地址和相對地址,寫一次函數,整個矩陣的函數拷貝粘貼就完成,出錯概率大大降低,但是每出現一個新的表格就要更新函數,仍然有出錯的不低概率;最高級的辦法就是在上一個辦法的基礎上,利用CELL函數獲取Worksheet的名字並提煉數字,然後一氣呵成,整個表格的函數完全是動態的,Worksheet複製之後只要改成相應的名字就可以完成任務,在出錯方面的魯棒性很強。

又比如,製作Financial Modeling的時候經常需要將季度或者半年度數據匯總成年度的(或者反向實施),一般的做法都是寫加減等簡單的函數,然而卻不能成塊拖拽或者複製函數而需要手工不斷寫函數,不僅麻煩而且容易出錯,利用Offset等函數,可以寫好函數就一步成型,完成整個過程。

函數寫法是:
=IF(MOD(COLUMN(Constant!A1),2)=1,OFFSET($M4,0,INT((COLUMN(Constant!A1)-1)/2)),
-OFFSET($M4,0,INT((COLUMN(Constant!A1)-1)/2))+OFFSET($C4,0,INT((COLUMN(Constant!A1)-1)/2)))

又比如,在第二層中,使用設置Check Point(檢查站)的方式來檢測三張報表是否配平,然而這種土法炮製的方式只能防止最後的結果不能出錯,而不能保證中間的狀態以及提升效率。為了偷懶和提高財務模型的健壯性,將各類索引函數及數組函數用到極致,於是實現自動配平以及檢查。

函數寫法是:=SUM(("Balance Sheet"!$AA$8:$AA$100="Cash Flow"!$B44)*("Balance Sheet"!O$8:O$100-"Balance Sheet"!N$8:N$100)*("Balance Sheet"!$AB$8:$AB$100))

第四層,使用先進的「編程思想」
以上都是技法,讓編程真正成為一門科學或者手藝的是,裡面存在心法或者思想。圍繞著這些編程思想,構建出一套套體系:MVC框架、MVP框架以及OO等等。這些體系的目的大概都是提高工作效率、復用率以及魯棒性等等,都是多快好省少出錯得完成任務。然而世間萬物,不少都是觸類旁通。利用Excel做Financial Model的基本思想其實和編程非常類似,許多框架都可以參考編程思想,這樣就能提高效率和降低出錯概率。

Excel最大的實戰價值就是製作各類財務模型(Financial Model)或者簡單的數學模型,用正確的方式方法來做模型(所謂的「套路」)才是心法。

比如可以借鑒著名而老套的MVC到Excel的Financial Modeling,實戰性強且效果好。將構建Financial Model的邏輯被分成三層, Model(負責數據),View(負責呈現)和Controller(負責業務邏輯),理想狀態下其中一層的改動不會影響到另一層。

  • 靈活性高,需要有靈活的框架快速滿足老闆及客戶多變的需求
  • 復用性強,這個項目做得Financial Model,隨便改改就能投入到下一個毫不相關的項目中使用
  • 健壯性強,盡量減少頻繁的手工輸入或者操作,將原始數據集中在一個模塊,改一個數據,相關的數據及模塊自動更改

在做大部分Financial Model的時候基本就是按照MVC的框架來要求自己的。

Financial Model搭建的過程就如同修建高樓一層層往上累加模塊

  • 常數/核心數據/假設數據部分,包括:商業常數(匯率及稅率等)、歷史數據(過去的財報以及市場規模的歷史數據)、認為靠譜而不能改動的預測數據、核心假設(比如假定宏觀經濟按照6-7%來增長)等等。這些數據略等於C語言的h文件部分,動一發而動全身,所以要單獨對待。如同程序一樣,Excel的函數中是不能出現hard-code的數字,所以如果一個財務模型中出現「=2*3.14*r」,基本是可以打回去重做的。
  • Scenario場景,包括:模型中需要經常調節的重要輸入參數(比如:市場滲透率、Exit PE ratio等)。這些參數最好剝離出來成為一個單獨的界面,可以比較方便的控制和調整,為之後的Sensitivity Analysis做準備,甚至可能遇到在上文中提到的類似於用梯度下降法尋求最優值的情況。
  • 基礎模型。這一步的核心就是做出預測的三張財務報表,最令人痛苦的是配平。可以使用各類複雜函數(Indirect/Offset/VLookup等)來進行配平而不會出錯,而且復用性極高。
  • 進階模型。基於歷史及預測的三張報表,做一些更複雜的財務分析或者估值預測,包括:DCF、Comparable、敏感性分析等等。
  • 呈現。把用戶(包括老闆或者客戶)最關心的產出放出來,用最友好的界面展現出來。當然做得極致些,可以把調整Scenario以及重要參數的界面也放出來,方便用戶Manipulate Data(其實翻譯成中文更有趣一些:猥褻數據)以便得到最滿意的結果。

下圖是曾經奮戰過的一個Financial Model,基本涵蓋了上述的邏輯和構建過程,供大家參考。

...更多文章請到數據冰山 - 知乎專欄
...更多回答請看何明科的主頁


1. 勤備份:郭德綱說,當你發現你做的修改還不如不改,這時候你為恢復上一版本數據而流的汗,都是當初沒備份就改動數據那時候腦子裡進的水。
2. 設置校驗:在幾個重要節點或者幾個關鍵數值那裡設置校驗,每次改動都注意看校驗值是否歸0
3. 減少手工錄入:除原始數據以外,其他均是計算所得。原始數據能拷貝就不手工錄入。
4. 統一: 數據格式統一,計算公式統一
5. 擅用輔助列:把一些複雜的計算拆分成幾步,便於差錯。多出來的一些列在表格完成時隱藏掉。
6. 擅用數據有效性、重複數據檢查、帶條件的顯示格式、單元格注釋等輔助手段。


@王斌 已經做了很好的回答,我為他再做點補充,其實在做表格的時候很多錯誤都是很低級,出現了之後會覺得為什麼自己犯這麼低級的錯誤,在這些時候就可以設置一下數據驗證來減少我們的錯誤。

特別是在處理很多數據的時候,看的我們眼都花了。

OK,下面做一個簡單的介紹,因為不知道樓主是哪方面的錯誤,不過看到這個回答後可以回復我,我會回來更新,同時EXCEL的問題歡迎邀請我一起探討:

上圖,我要在A2:A22中輸入手機號,大家都知道中國的手機號是11位,那我就可以這他設定數據格式,offoce 2013 為 數據工具一數據驗證,其他版本應該是 數據 一 數據工具 一 數據有效性

在設置里做上圖設置,記住是先選中你設置條件的單元格再設置條件。

你看,效果來了,我輸入12為兩位,不符合11位的條件,然後提醒就來了。

所以很多時候都是可以用數據驗證來避免大部分的低級錯誤,同時牽涉到計算的盡量用公式。


其他問題歡迎回復和@,同時以後的EXCEL歡迎邀請我~


【Excel】拿什麼拯救那些被誤操作的單元格?#快速定位有差異的單元格#

「 某天,你正在檢查某張報表,而在這張報表中,有大量連續的公式計算。突然你發現某一計算錯誤居然是由於某一單元格被誤操作成了固定數字,或者錯誤的公式……這裡面還會有其他錯誤嗎?需要怎樣才能找到其他錯誤呢?

錯誤的單元格

原始表格


比如你擁有這麼一張表格,密布了大量的數據。

顯示公式

通過Ctrl+`命令,可以將從顯示結果轉變為顯示公式。

當然如果你眼裡夠好,或許也能一眼看出其中的錯誤,比如綠色底紋的單元格公式與其他單元格不連續,又比如橙色底紋的單元格鍵入的數字而非公式。
不過火箭君雖然擁有了四隻眼睛,卻依然眼力不濟,因此我得想想其他法子

解決之道

方法一: Ctrl + 或Ctrl + Shift +

將活動單元格定位在任意一正確的單元格,然後Ctrl+A全選目標區域。這時,只要按下Ctrl + 或者Ctrl+Shift+就能找到與所在區域其他單元格有差異的單元格了。
當然Ctrl+ 和Ctrl+Shift+之間還是略有差異:

  • Ctrl + —— 定位目標區域中行內容差異單元格
  • Ctrl + Shift + —— 定位目標區域中列內容差異單元格

方法二:定位

如果只是誤鍵入了數值,那個更為簡單的就是利用 定位 功能,直接找到目標區域的常量單元格。

更多話題請關注我們的公眾號:效率火箭(ID:xlrocket)


做表規範了,錯誤就少了.我曾經收集整理規範化23條(首發EXCELhome)

嗯,電子表格不能隨意設計,有些可能會給後續的工作造成困擾.我想到有一些,希望大家一起補充並完善.

按照功能劃分,有兩種表格:列印表,數據表.列印表的規範性要求可以降低,數據表的規範性要求更高.當然也可以是一張列印表,一張數據表,然後列印表對數據表進行引用.
以下為數據表的規範性要求:
1.不要用合併單元格.
合併單元格給公式的拖拽,排序等操作帶來意想不到的麻煩.

2.合計功能
大部分表格將合計放在了尾hang2(這是一個屏蔽詞::L
),我的建議是放在2行(首行是表頭).
好處在於:使用統一的sum公式(從3到65535).
只不過,當中插入一行,好像問題也不大,sum公式會自動加1,計算結果也正確...

另一個例子,數據透視表的輔助公式,建議放在表格的左邊.因為透視表的寬度有可能發生大幅度的變化,導致右邊的公式被覆蓋,放在左邊就不會有問題了.

3.內容統一
每列數據一個表頭,若干數據.確保結構統一.可以使用篩選,分類匯總等功能獲得帶有合計的表格,但不要在製表的時候仿照它的樣式,把"合計"插在表格的中間位置.這種東西最終會把表格的使用者給害了.

4.行與行之間、列與列之間不要有隱藏行或有隱藏列(末尾做輔助列,然後隱藏起來沒關係).這一點我自己做的不是很好...輔助列總是胡亂插,呵呵...

5.字與字之間及每一個字前後都不要有空格,即信息庫中所有填寫內容都不要有空格

6.儘可能的使用"可拖拽公式".由此需要而設置相對引用,絕對引用,混合引用.
使得表格功能擴展的時候變的容易.往往只需要複製粘貼就能完成操作.平時養成這樣的習慣,不會有壞處;如果做不到公式可拖拽,多提問也可提高自己.

7.嚴格遵守時間,日期格式的輸入規範.有時候時間格式參與運算,規範化很重要!

8.慎重使用數組公式.數組公式幾乎都涉及海量運算,但也有辦法化簡運算量.用的時候要慎重,尤其是數據條數上萬的情況下...
對於countif和sumif這樣的函數,需要選取範圍的,計算速度也很慢.必須要用的時候,要想辦法化解,比如,縮小選擇範圍(在不影響結果的情況下),選擇性粘貼,僅保留結果,都是不錯的方法.

9.使用統一的表格樣式.
比如各部門的考勤計劃表,由人資設計,下發,各部門填寫完成後收回,對於統一的樣式,可以方便的合併,集中處理.

10.不同屬性的數據不要放在一起.你將它合起來非常容易,使用連接就可以了,但分開就困難的多.
比如:中英文名稱.
比如:單位:20元/斤,把它分到4個單元格當中:20
元 /
斤.

11."只輸入一次"原則
數據只輸入一次,需要的時候對其引用,而不是再次輸入相同的內容.
比如我的一個麻將統分表格,將底分單獨抽出,然後別的單元格對其引用.如果想修改規則,只需改變這個單元格的值,所有的問題一併解決了.

12.關聯你的列印表與數據表.
利用index,offset等函數,關聯數據與列印表.
Excel 批量列印的員工證(offset函數,宏)-Excel函數與公式-ExcelHome技術論壇 -
這裡有個員工證列印的示例.
製做n多個看起來一模一樣的表格,然後一張張的列印,這種事情,我以前也不是沒幹過.
從中引出的一個大原則:凡是重複性的工作,一定有改良的方法.

13.改變"一日一表"的習慣
一個月31天,就在一個xls文件內建立31張工作表...初學者只會用這種方法解決問題,那是沒辦法的事情.現在我已經不那麼幹了.
EXCEL有個好東西叫做"數據透視表",你現在還不會,沒關係,幫你的人會就行,但如果你做的是"一日一表",他們會讓你先合併,否則絕不救駕,呵呵...當然,這裡所說的全部問題都是一樣的——如果你不將其規範化,沒人肯幫你.


14.養成EXCEL製表的好習慣,改掉WORD製表的惡習.
包括一些沒有框線的,看起來像表的,也用EXCEL來製做,比如一個菜牌,餐飲菜單那樣的東西.格式調整的時候很容易實現批量化,WORD就夠嗆了.

15.僅用顏色來區分數據,必須避免.
修改單元格顏色,僅僅是輔助標記,但你想指望顏色來對數據進行處理,必須掌握vba才能實現.這會把簡單的問題弄複雜,即便求助也不見得有人搭理(這裡所列的規範,任何一條未遵循,都不會有人樂意幫忙解決後續問題的)
當然了,在表格裡面使用不同的顏色,還是許可的.

16.避免引用其它工作表的數據.
我不知道這條該不該作為規範,但由此引發的問題是有的.比如把工作表發給別人,打開的時候總會提問是否更新,這些都讓人不爽.

17.避免太大的數據增量.
就是說,您該用資料庫軟體,而不是EXCEL了...

18.使用一致的名稱.
比如一個學校的表格,班級列,一會兒用"二班",一會兒又變成"2班",搞到後面會暈死的.

19.避免同名現象.
花名冊存在同名的,可以做一個同名檢查,比如
Excel 同名檢查,從一列中找出姓名相同的進行編號-Excel函數與公式-ExcelHome技術論壇 -
其實也可以忽略這個問題,但必須有替代品,就是唯一的編碼,比如工號,身份證號碼(比較長,一般不用).有唯一的工號,就可以不做同名處理了.
某些查找函數,可能需要先消除重名的情況吧?話說回來,一般會用唯一的工號來處理數據,這也避免了重名帶來的麻煩.所以這一條可能不需要嚴格遵循?

20.避免無規律的中英文標點符號混在(全形字元和半形字元).
字元串裡面,有的是(付),有的是(付)...
看上去差不多吧,一個是英文標點,一個是中文標點...這會造成預料之中的麻煩和意想不到的困擾...

21.請勿濫用換行功能Alt+回車
列印表用這個功能問題不大,數據表就不要這樣了.
Excel 請教,除了分列還有沒有更好的辦法-Excel基礎應用-ExcelHome技術論壇 -
這倒是提供了一個解決問題的方法,但如果大量的這種單元格,要怎麼處理呢?

22.數據腰斬...
做的一些列印表,由於列數太少,於是就把數據折斷,在紙上的空間利用率的確是高了,但是這樣的表要是拿來運算,就還要再次合併.量少還能手工處理,量大也是個體力活啊...
示例:
Excel 學生成績登記表和通訊錄-Excel基礎應用-ExcelHome技術論壇 -
嗯,只能說,這不太規範,還好處理難度一般也不會很大.

23.用公式進行拖拽,可以避免出錯.
遇到過公式掌握欠佳的同事,公式是單獨輸入的(實際上可做成拖拽輸入),兩個不同的表,數據完全相同,可結果就是錯的.
補充前面的,但又不一樣的,就是,規範化的表格,公式應該由拖拽形成,量越大,對此操作的要求越高,否則極易出錯.完全由拖拽現成的公式組,你只要有2個數據計算是正確的,即可確保全部結果都正確.

各位繼續補充,謝謝.

下列內容為引用
Excel 在EXCEL的使用中養成良好的數據處理習慣-Excel表格模板下載與分享-ExcelHome技術論壇 -

在EXCEL的使用中養成良好的數據處理習慣

一、儘可能嘗試按照以下規則設置資料庫格式:
1、所有「相同事件」都儲存到同一個工作表中;
2、每個事件占工作表的一行;
3、工作表的第一行是標題行;
4、工作表的數據源中無合併單元格或空格,數據之間無空行或空列;
5、工作表中的欄位名稱不重複,欄位名稱應簡單而具有良好的標識作用;
6、數據的儲存不混淆於數據的使用。工作表的資料庫存儲設置只需要將「事件」完整記錄下來,而不需要「看起來像報表」。
7、採用計算機認同的數據格式,如日期格式應採用2009-5-23等,而不採用2009.5.23。
8、做到了以上各項原則,只要掌握了Excel的幾個基本函數,就可以比較好的進行數據管理了;反之,即使有很高的水平,也管理不好數據。對資料庫的欄位設置,是最基礎的水平。
9、如果感覺對數據的管理難度太大,通常是因為資料庫的欄位設置不合理。
二、不將不同的表放入同一個工作表中。
三、恰如其分的估算是否適合使用EXCEL,對數據量特別大達幾萬條以上的建議使用資料庫,對文字多需要進行大量文字編排的建議使用WORD。
四、對數據量大,操作步驟多,數據源複雜,特別是針對有重要數據的,在執行數據分析與處理後,應進行抽查或對結果進行檢查,抽查為隨機,但一般包括前、中、後及有特殊格式的數據條,對結果的檢查應採取不同的方式進行(如對總計或總和進行檢查),避免檢查思路與操作思路一致。
五、對數據進行分析處理時應建立副本(不在同一工作薄)進行操作,不破壞原始數據。
六、對數據分析處理時在進行多個操作步驟後應保存,避免死機等意外情況後一切又從頭再來。
七、對數據分析處理時在進行多個操作步驟後應建立副本備份,一般可在同一工作薄中,同時副本的工作表名應容易識別步驟進展,否則在第五條中的保存操作執行後發現前面步驟的處理有問題時不能撤銷前面的操作而導至從頭再來。
八、懶人原則。要認同EXCEL一定會有好的方法供我們使用,盡量採用簡單易行的操作方法(即便多幾個步驟)達到目的,不推薦使用極其複雜的操作一步到位(學習時除外),因為EXCEL的宗旨即是減輕我們的工作量。
九、重要數據即時備份。
十、報表如儀錶原則,報表在直觀、易用和容易理解的基礎上還應美觀而賞心悅目。
以上內容部分參考了LangQueS的《簡易的數據管理.xls》

[
本帖最後由 拼音佳佳 於 2010-12-30 16:20 編輯
]

補充內容 (2014-5-28
13:38):

補充第24條:請習慣於做"流水賬".因為流水賬可以很方便的使用數據透視表功能.舉個例子:
Excel 這個公式可以用其它函數公式簡化么?-Excel函數與公式-ExcelHome技術論壇 -
表的結構可改成:年份,月份,客戶,產品,數量,然後羅列下來做成流水賬...


重度Excel使用者,分享一些多年實戰的經驗。從兩個角度來闡述如何避免Excel錯誤:

一、錯誤的預防

1. 建立清晰的報表結構
結構清晰是報表準確的基石,邏輯再縝密的數據分析師也無法駕馭結構混亂的報表,我一般會把Sheet分為五類:

A類用於存放外部數據源,一般來自關係型資料庫的一維表;

B類用於存放匹配表,用於變數的計算和轉化,可以通過Vlookup, lookup, index+match等方法來實現變數的匹配,在這裡就不贅述;

C類用於呈現數據,一般是二維表;在這裡要尤其避免凌亂的,隨意的報表設計。如果呈現方式繁多,寧可多加幾張Sheet,也不要雜糅在一張Sheet中;

D類用於說明報表,需要註明整個報表的設計思路,中間運算步驟,欄位含義,更新報表時的注意事項等。因為報表多了,你也會遺忘一些細節,同時也方便團隊其他同事學習使用此報表;

E類用於檢驗報表,後文會進行詳述。

2. 慎用輔助列、輔助表
為了便於計算,有時外部數據源的變數需要進行一些加工,很多人喜歡在旁邊寫一些輔助列,甚至加入一些輔助運算表。這樣不是不可以,但每增加一個輔助列或是輔助表就會讓報表出錯的幾率直線上升,所以盡量少用。替代方案是:

寫SQL語句取數的時候就把輔助列寫在語句里,這樣數據源是「一步到位的」;

利用數組公式,VBA腳本來輔助進行複雜的計算,數據源直接轉化為要呈現的結果;

3. 公式中禁用常量
沒錯,就是要避免Vlookup(……)*32,If(A2="Food"……)這種公式出現在單元格里,這是非常非常非常糟糕的公式寫法,會埋下潛在的報表出錯風險,也讓錯誤變得難以排查,你需要把32和food存放在我之前提到的匹配表中、寫明含義用途並引用過來。這種方式有點類似編程語言中變數/常量的聲明。

4. 公式的數量不宜過多
優先考慮寫可以橫向縱向同時拉動的面公式,其次是可以單向拉動的線公式,除非迫不得已,否則少寫不可拉動的點公式。如果一個Excel高手寫公式出錯的概率是p,公式寫得越多,報表出錯的概率越接近於1,這個是顯而易見的。另外龐大的公式數量也會讓報表的修改工作變得極其複雜;

5. 不要手工打造報表
最近很流行手工鍋巴,半夜碼字餓了……不是手工的就是好的,尤其不要手工更新報表。所有手工更新的步驟,諸如篩選、複製、粘貼、刪除、下拉公式等等,只要是有規律可循的,都盡量用VBA腳本去實現,否則你的報表就成為了定時炸彈,每次發郵件出去都會戰戰兢兢的。(是不是暴露了什麼……)


6. 注意不同級別時間維度的跨越
大部分Excel工作都是用來發周報/日報/月報/季報/年報的,當時間維度升級的時候,比如周報跨月、月報跨年等等,報表如果設計得不周全,很容易出現錯誤。無論是取數、運算還是數據呈現的時候都要充分考慮到這一點。

二、錯誤的檢驗


1. 人工檢驗
人工檢驗主要針對C類Sheet,即呈現數據運算結果的Sheet。如果一張報表計算出公司員工的平均年齡是66歲,你可能一眼就能看出錯誤,因為你對這個指標有概念。這又牽涉到另一個話題——報表製作者對業務的理解。具體包括:


1.1 熟知業務指標的描述性統計量(計數、求和、均值、極值、標準差等),比如要統計銷售數據,那公司有多少銷售員,平均每天業務量是多少,每周最低訂單量是多少,哪款產品單價最高,哪個渠道佔比最大,這個月收入環比上月增長了60%是否有可能……總之,報表上每一個單元格的數字都要有概念;


1.2 熟知指標設定的目的,有些報表製作者甚至不了解自己所計算的指標是什麼,有什麼用,誰最關心。只是知道「XX經理要這個指標」。實際上只有你非常了解「為何設立這個指標」的時候,才能更準確地判斷計算出來的值是否靠譜;

1.3 熟知所有指標之間的因果/相關關係,比如市場活動支出和收入增長是呈正相關的,如果你的報表本月市場活動費增長了50%,業務量卻下降了2%,那你就有理由懷疑是否存在計算錯誤。

2. 利用公式檢驗
如前文所述,我一般會建立一張用於檢驗報表正確性的E類Sheet,公式檢驗主要是針對數據源,即A類Sheet進行檢驗。儘管我強烈建議數據源是自動化更新的,但仍然有必要檢驗數據源,因為資料庫有時會出現問題,另外有些同學可能還是會手動下載複製粘貼數據源。用公式主要檢驗如下幾個方面:

2.1 檢驗欄位名稱,列數是否正確。

2.2 檢驗欄位的均值,極值並與過去n個月的均值進行比較,看看是否有顯著的差異

2.3 檢驗時間變數,通過求時間變數的最大值來判斷數據源是不是最新的

2.4 檢驗每個欄位是否有缺失值,缺失值的比例是多少


2.5 檢驗數據源的行數是否處於正常範圍內,比如說5萬行

通過以上的檢驗手段,基本可以保證報表的正確性,歡迎大家多多交流。

以上~


這要看你的工作性質、需求,以及你如何使用excel。
你提到了粗心導致的問題,我由此猜測你只是excel的初級普通使用者。
我不會vba,只會使用部分的函數和一些基本技巧處理表格,但是我能把我整套工作流程全部集中在一個文件的十幾張表中,每月從系統中導出業績表後,後面的繁瑣演算法的工資基本就能自動出來了,算中級使用者。
因為大部分使用函數批量處理,基本上準確性不要操太多心,一旦出現問題,我查找問題的思路重點是在整套表格的邏輯關係推理、函數格式和函數邏輯分析上。
基本很少手工錄入。批量處理思考方式和逐個逐行處理做出來的表是不一樣的。
我整理的通用流程:
1、數據的獲取。
2、數據的整理。
3、數據的匯總、統計。
4、數據的分發、上報。
之所以沒有數據的錄入和分析,是因為基本上你要以上面的1-4為工作核心的時候,錄入會有專門的人員,分析基本上你的上司會琢磨,然後你把他的話翻譯成表格就可以了。
必須手工錄入的時候,樓上都提到了一些方法,我要說的就是最好要訓練到實現小鍵盤的數字高速準確盲打和文字慢速盲打,一切批量技巧都無效時,自己靈活的雙手才是最有用的。這個基本功要耗時半年到一年才能練熟。基本上鍵盤手藝紮實練習一年的,你要說你做事粗心,你身邊已經沒人相信。
道理:嘗試把一件小事做到極致,非常熟練,那麼這件小事整個過程中所有精細入微的變化你都可以感受、觀察到,粗心已經和你無緣,再做其它事自然能夠觸類旁通的使用這些經驗了。副作用:就是有點狂妄,因為你會發現賣油翁的故事不再是一個忘塵莫及的傳奇,而是可以用自己的雙手做到的,也就是網上所謂的開掛人類。以至於當年同事質疑我表格數據與總公司郵件不一致時,我毫不猶豫的告訴他此項事務以我做的表格數據為準,而我甚至連郵件內容都沒看,事後也根本沒去核對,因為不需要。


由於工作原因,我經常需要處理源數據幾十M的表格。常用的避免錯誤的方法有:

1、養成核對的習慣:在每個sheet中加一行甚至幾行的check行,比如,把表格的匯總值減去源數據的匯總值,看看是否=0。用vlookup、sumifs等簡單公式即可完成;

2、養成看數據的習慣,保持敏感度:比如,剛剛做完上個月的報銷支出,由於團隊的報銷項目是比較穩定的,可以把全年每個月的報銷金額做個走勢圖,看看是否有明顯的波動;

3、專註:你無法想像錯了一個值會帶來什麼,會導致公司有多大的損失。所以,做數據的時候把微博微信網頁音樂都關掉,專註只做數據。對工作保持敬畏之心。


利用表格的邏輯。
舉個例子:如下表,需要對A項和B項的數據進行匯總;

通常大部分人都只是這樣做的:

但是,這樣很難發現其中有錯誤,再多做一步你就會發現之前用Sum函數時少選一個單元格(見下圖)。

類似這樣的表格邏輯還有很多。出錯不怕,就怕出錯了還不知道!更怕出錯了還找不到錯在哪!


資料數據要準確,
耐心,細心。檢查
自己的技術也得過關嘛,是不是。


在我看來,粗心產生的原因一共有三種:
第一,真粗心,不讀題目,不看清楚,屬於低級錯誤。如果你被領導重重地罵幾頓,吃大虧,我相信有自尊心的你會改過來。
第二,不懂得裡面的邏輯,重要的步驟沒全部完成,屬於方法和意識不到位。如果你把做一件事情的步驟全部盤點出來,按照順序嚴謹執行,一個都不能少,能夠解決這個問題。
第三,跟樓上的大神說的一樣,心法要過關。要有編程思想,去做這件事情就不難。


公式套公式,最後面幾列或者幾行記得做個複核的鏈接。


推薦閱讀:

如何做到 Excel 只保存數值不保留公式?
如何快速讓兩列不相同的數據互補填充?
Excel如何用函數將單列數據分成多列?
日本公司的職員做 Excel 表格是否厲害?

TAG:MicrosoftExcel | Excel公式 |