【问题标题】:How To Ignore Blank Cells for a Formula如何忽略公式的空白单元格
【发布时间】:2015-07-29 14:47:08
【问题描述】:

我正在跟踪我公司的营业时间,我需要查看每天更新的营业时间。我已经按照我想要的方式格式化了所有内容,除了我想要两列来显示每个员工当前工作时间的上下时间。

我现在拥有的是 =(D3-C3)+(F3-E3)+(H3-G3)+(J3-I3)+(L3-K3)+(N3-M3)+(P3-O3)

但它包括所有空单元格(对于尚未工作的日子)为零。

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

我不能只使用 SUMIF >0 函数,因为我需要计算员工错过的小时数(即计划 12 小时,实际工作 0)。

【问题讨论】:

  • 定义“尚未工作的天数”。例如,您是否有一个标题行,上面写着“2015 年 1 月 1 日”“2015 年 1 月 2 日”等内容?如果是这样,您可以创建一个公式来仅添加小于“TODAY()”的日期。如果您想了解如何实施,请告诉我。
  • 我正在按计划的时间处理类似这样的公式,但是我要离开所以必须在我检查后回复你 =SUM(D3:P3*ISEVEN(COLUMN (D3:P3))*(E3:Q3""))
  • 顺便说一句,我假设 D3、F3 等包含预定时间,C3、E3 等包含工作时间,问题是 C3、E3 等可以为空(如果 D3 和 E3 都是空白则不会有问题,因为您只会得到零)。如果这不是正确的假设,请告诉我们。
  • 是的,这是正确的假设。 D3 是实际工作时间,C3 是计划时间。

标签: excel sum formula cells


【解决方案1】:

这是@Tom 的另一种方法,尽管它的工作原理相似。但是,这取决于您在当前数据上方添加几个“HELPER”行的能力。

我假设第 1 行会在“PROJECTED”和“ACTUAL”之间交替出现。 我假设第 2 行将是该周的日期,采用日期格式。因此,A2 将是 2015 年 1 月 1 日,B2 将是 2015 年 2 月 1 日,C3 将是 2015 年 2 月 1 日,或者时间块通常会增加。这里的关键是 PROJECTED 列和 ACTUAL 列都需要其中的日期。

检查该行的 PROJECTED 金额和该行的 ACTUAL 金额之间的差异的公式(仅适用于今天之前的日期)是(对于第 3 行并向下复制,并假设数据进入 Z 列):

=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())

这会检查日期小于今天的那一行的 PROJECTED 列的值,并减去日期小于今天的那一行的 ACTUAL 列的值。

如果您希望与 TODAY() 以外的其他内容进行比较,您可以设置一个单元格作为您的“比较点”。在该单元格中手动输入您关心的中断期,然后将“&TODAY()”替换为“&AA1”[假设您在单元格 AA1 中输入了您的中断点]。

【讨论】:

    【解决方案2】:

    就目前而言,要么是很长的 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<>"")))
    

    第二个必须用CtrlShiftEnter

    输入

    请注意,插入/删除列很容易破坏它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多