為給你用宏定義個函式,以後就可以正常當公式用了,前提:
1.要麼是時間,要麼是”休息“
2.時間段之間用alt+enter分開(即所謂單元格內回車)
同時按alt和f11進入宏介面,點選單的插入,模組,貼上如下程式碼:
functionsumh(xrngasrange)assingle
dimcellasrange
dimiasbyte
dimxstr()asstring
foreachcellinxrng
ifcell<>"休息"then
xstr=split(cell,chr(10))
fori=0toubound(xstr)
sumh=sumh+timevalue(mid(xstr(i),instr(xstr(i),"-")+1,5)&":00")-timevalue(left(xstr(i),instr(xstr(i),"-")-1)&":00")
nexti
endif
next
sumh=round(sumh*24,2)
endfunction
回到excel,可以用公式=sumh(b2:f2)
公式可以複製的。
為給你用宏定義個函式,以後就可以正常當公式用了,前提:
1.要麼是時間,要麼是”休息“
2.時間段之間用alt+enter分開(即所謂單元格內回車)
同時按alt和f11進入宏介面,點選單的插入,模組,貼上如下程式碼:
functionsumh(xrngasrange)assingle
dimcellasrange
dimiasbyte
dimxstr()asstring
foreachcellinxrng
ifcell<>"休息"then
xstr=split(cell,chr(10))
fori=0toubound(xstr)
sumh=sumh+timevalue(mid(xstr(i),instr(xstr(i),"-")+1,5)&":00")-timevalue(left(xstr(i),instr(xstr(i),"-")-1)&":00")
nexti
endif
next
sumh=round(sumh*24,2)
endfunction
回到excel,可以用公式=sumh(b2:f2)
公式可以複製的。