331 | 問題16:為什麼儲存格內含二個時間相減會出現#### | ||||
示範檔 | 無 | 範例檔 | 331.XLSX | 結果檔 | 無 |
如下圖所示,A2儲存格為上班時間,而B2儲存格為下班時間,為什麼C2儲存格輸入公式:「=B2-A2」時間,得到的結果是故號填滿儲存格?
n 解決方案:
了解產生一長串供號的原因,並使用正確的時間計算公式。
n 操作方法:
將C3儲存格輸入以下公式:「=B3+IF(B3<A3,1,0)-A3」後,按 Enter鍵完成公式的輸入。
n 原理分析:
在Excel中,日期跟時間其實都是一種數值,只是為一種較特殊的格式,可以直接做加減運算,但是負的時間是沒有意義的,如果時間差為負數,會傳回到號填滿儲存格,如下圖所示。
本例使用IF函數判斷時間2早於時間1,就加上1表示時間2為第2天的時間。
n 知識擴展:
嚴格來說,#號填滿儲存格不算是錯誤值,使用ISERROR、ERROR.TYPE函數皆不能將其判斷為錯誤,一般有種狀況會導致出現此問題:
原因1:儲存格欄寬不夠。
解決方法:可以通過調整儲存格欄寬,設置自動換列或縮小字型以適合欄寬等方法解決。
原因2:傳回的時間、日期為負數。
解決方法:可以設置儲存格為其他格式,如果需要用日期、時間格式表示,則應該用較晚的時間、日期減去較早的時間、日期。
原因3:儲存格格式中設置了條件,但輸入數值並未滿足條件。舉例來說:自定義儲存格格式為「[=1]男;[=2]女」,然後儲存格中若輸入1、2以外的數字。(2003版不會有此問題)
解決方法:自定義格式時使用完整代碼。例如:自定義儲存格格式為「[=1]男;[=2]女;G/通用格式」,然後儲存格中若輸入1、2以外的數字會使用通用格式。
留言列表