如何忽略公式的空白单元格

我正在跟踪我公司的工作时间,我需要每天查看最新的工作时间。 我已经把所有的东西都格式化了,除了我想要两列显示每个员工当前工作时间以上和以下的时间。

(D3-C3)+(F3-E3)+(H3-G3)+(J3-I3)+(L3-K3)+(N3-M3)+(P3-O3)

但它包括所有的空单元格(还没有工作的日子)为零。

我想要一个公式,可以让我忽略这些空白单元格,直到他们有内容。

我不能只使用SUMIF> 0函数,因为我需要计算雇员有MISSED小时数(即预定12小时,实际工作0)。

就现在而言,无论是一系列非常长的IF和OR还是一个数组公式:

=SUM(IF(OR(D3="",C3=""),0,D3-C3),IF(OR(F3="",E3=""),0,F3-E3),IF(OR(H3="",G3=""),0,H3-G3),IF(OR(J3="",I3=""),0,J3-I3),IF(OR(L3="",K3=""),0,L3-K3),IF(OR(N3="",M3=""),0,N3-M3),IF(OR(P3="",O3=""),0,P3-O3)) =SUM(D3:P3*ISEVEN(COLUMN(D3:P3))*(C3:O3<>""))-SUM(C3:O3*ISODD(COLUMN((C3:O3))*(D3:P3<>""))) 

第二个必须用Ctrl Shift Enter进入

请注意,插入/删除列可能会很容易被破坏。

这是@汤姆的另一​​种方法,虽然它的工作原理类似。 然而,这个依赖于你在现有数据之上添加几行“HELPER”行的能力。

我假设第1行将在“PROJECTED”和“ACTUAL”之间交替。 我假设第2行将是date格式的date。 所以A2将是2015年1月1日,B2将会是2015年2月1日,C3将会在2015年2月1日,或者经常是时间阻塞。 这里的关键是PROJECTED列和ACTUAL列将分别需要date。

(仅用于第3行并向下复制,并假定数据转到第Z列),检查该行的PROJECTED金额与该行的ACTUAL金额之间的差异的公式(仅适用于今天之前的date):

 =SUMIFS(A3:Z3,$A$1:$Z$1,"PROJECTED",$A$2:$Z$2,"<"&TODAY())-SUMIFS(A3:Z3,$A$1:$Z$1,"ACTUAL",$A$2:$Z$2,"<"&TODAY()) 

这将检查以查看该行(其中date小于今天)的PROJECTED列的值,并减去date小于今天的该行的ACTUAL列的值。

如果你想比较TODAY()以外的东西,你可以设置一个单元格作为你的“比较点”。 手动键入您关心的单元格的中断时间,并用例如“&AA1”replace“&TODAY()”(假定您的中断点input到单元格AA1中)。