2  

 

一直自認對excel還挺熟的,可發現原來還有很多我不知道的,學海無涯,excel的功能真的好多功能呀!

今天使用到時數相減,發現當減掉被函數ISERROR處理過的#VALUE!的儲存格(E欄,無出勤顯示#VALUE!改為0:00),結果會顯示為######,要轉換成一般數值時,excel會認為是負數值,轉換出來的不是自己要的答案。

當然報表也呈現難看的一堆#######,一定要想辦法消除它呀!找了老半天,看到了這個不錯的"學不完 教不停 用不盡" blog 都在教學有關excel的函數,範例和講解都很實用而詳盡。

當儲存格錯誤時,常會顯示#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!,這些可以用IF+ISERROR這2個函數找出來改成自己想要顯示的數值或文字,但########倒很少見到用什麼方法排除,結果經由這 blog居然發現很簡單就解決了。

前面說過,因為時數相減後儲存格顯示#####,是因為Excel把它當作"負數"看,所以可以用SIGN這個函數來解決!

SIGN函數:傳回代表數字正負號的代碼。如果此數值是正數,會傳回 1,如果是 0 則傳回 0,如果數值是負數,則傳回 -1。

於是同樣運用IF+ISERROR的方式,將SIGN也包在IF裡面,此例是以實際工時-標準工時8-用餐時間0.5小時計算(所以還有用到TIME函數):
在延長工時儲存格G2
=IF(SIGN(E2-TIME(8,30,0))=-1,0,E2-TIME(8,30,0))

如需轉換時數,只要把日期格式*24小時即為換算H2=G2*24


  

arrow
arrow
    全站熱搜

    我的人生 發表在 痞客邦 留言(1) 人氣()