愚人
Excel表格中,當函數或公式中沒有可引用的數值時,就會顯示出“N/A”。這是一個典型的數據源引用錯誤現象,比如我們常用的Vlookup函數,它的格式是“VLOOKUP(查找值,查找范圍,查找列數,精確匹配或者近似匹配)”,其中的查找范圍就是引用一個數據區域,如果這個區域數據引用錯誤就會出現#N/A提示。比如在下表中,缺勤天數是引用A2:B5的數據,但是將公式下拉的時候,引用區域會自動向下引用,如在E2公式會變為A3:B6,由于張三在A2,所以導致引用數據出錯從而出現#N/A提示(圖1)。
既然是引用數據出錯,解決的方法自然是重新引用正確的數據源。以上述演示為例,引用的都是A2:B5的數據,只要將公式變為“=VLOOKUP(D3,$A$2:$B$5,2,0)”,對數據進行絕對引用即可解決問題(圖2)。
函數都是通過引用不同單元格的數據實現高效運算的,但是如果引用了一些無效單元格,那么就會導致公式運行錯誤。比如對于設置好公式的模板,很多新手經常將包含公式的單元格任意復制,這樣移動位置后會導致引用單元格錯誤。比如將原來的C2公式復制到B2,但是原來C2公式中就是引用B2的值,這樣復制后公式就會出現引用無效,導致#REF!錯誤(圖3)。
由于該錯誤的原因是由于引用無效單元格導致的,因此只要將公式中的無效引用更改為實際、有效的引用即可。比如上述例子,復制后使用SQRT函數是對A列的數值進行求根,因此只要將函數中引用的單元格指向A列數據即可(圖4)。
在Excel中如果引用的參數無效,那么在公式中就會出現#NUM!。比如我們經常使用DATEDIF函數對日期進行運算。如根據員工離職時間計算其在職天數。默認情況下,離職時間要大于入職時間,但是在日期錄入錯誤(在職、離職時間對換),此時函數會由于引用了無效的在職時間而出現#NUM!錯誤。解決方法則是檢查引用的時間單元格,輸入正確的離職時間(需要大于在職時間)即可(圖5)。
Excel的函數是根據同一類型的數據進行運算的,如果參數的數據類型不一致就會導致#VALUE!錯誤的出現。比如在上述例子中,DATEDIF函數對日期數據進行運算,如果參與運算的數據不是日期格式,比如錯誤地將2017.2.1輸入為217.2.1,這樣由于輸入不是標準的日期格式,在參與運算時就會出現#VALUE!了,此時就需要檢查引用的數據類型是否一致,將其更正為同一類型即可(圖6)。
平時經常需要使用函數對特定區域數據進行求和,比如需要對A、C列的數據進行求和。如果直接在A7輸入公式“=SUM(A1:A6 C1:C6)”進行求和,此時就會顯示#NULL錯誤(圖7),因為A、C列數據是不相交的兩個區域,這樣會導致區域運算失敗。解決方法則是使用聯合運算符,即“=SUM(A1:A6,C1:C6)”,即可正確求和。
當然常見的函數錯誤還有“#NAME?“(表示函數名稱有錯誤,比如將SUM函數誤寫為SUN,只要更改為正確函數名稱即可),“#DIV/0!”(表示除數函數中有為0或者空單元格,只要將這些單元格刪除或者不在其中填充函數即可)。總之,在日常使用中如果遇到函數錯誤,Excel會在函數前方添加換色感嘆號標記,大家可以移動鼠標到該標記上,根據顯示的錯誤,然后利用Excel的幫助進行檢查,采取對應的解決方案去修正錯誤即可(圖8)。