331

問題16:為什麼儲存格內含二個時間相減會出現####

示範檔

範例檔

331.XLSX

結果檔

如下圖所示,A2儲存格為上班時間,而B2儲存格為下班時間,為什麼C2儲存格輸入公式:「=B2-A2」時間,得到的結果是故號填滿儲存格?

image

n  解決方案:

了解產生一長串供號的原因,並使用正確的時間計算公式。

n  操作方法:

C3儲存格輸入以下公式:「=B3+IF(B3<A3,1,0)-A3」後,按 Enter鍵完成公式的輸入。

image

n  原理分析:

Excel中,日期跟時間其實都是一種數值,只是為一種較特殊的格式,可以直接做加減運算,但是負的時間是沒有意義的,如果時間差為負數,會傳回到號填滿儲存格,如下圖所示。

image

本例使用IF函數判斷時間2早於時間1,就加上1表示時間2為第2天的時間。

n  知識擴展:

嚴格來說,#號填滿儲存格不算是錯誤值,使用ISERRORERROR.TYPE函數皆不能將其判斷為錯誤,一般有種狀況會導致出現此問題:

原因1:儲存格欄寬不夠。

解決方法:可以通過調整儲存格欄寬,設置自動換列縮小字型以適合欄寬方法解決。

image

原因2:傳回的時間、日期為負數。

解決方法:可以設置儲存格為其他格式,如果需要用日期、時間格式表示,則應該用較晚的時間、日期減去較早的時間、日期。

原因3:儲存格格式中設置了條件,但輸入數值並未滿足條件。舉例來說:自定義儲存格格式為「[=1];[=2]女」,然後儲存格中若輸入12以外的數字。(2003版不會有此問題)

解決方法:自定義格式時使用完整代碼。例如:自定義儲存格格式為「[=1];[=2];G/通用格式」,然後儲存格中若輸入12以外的數字會使用通用格式。

 


arrow
arrow

    錦子老師 發表在 痞客邦 留言(0) 人氣()