如果单元格为空,则公式将前一个单元格视为该单元格的值并将单元格加在一起

问题描述

我想弄清楚如何对一行单元格求和,如果行中的一个单元格有一个字母,例如字母“X”,将行中它左侧的单元格视为一个值在总结行时为该单元格。对于我的表格,这背后的原因是我有一个用于建筑项目工作周的表格,我每天都会列出当天的员工工作量。在他们休息的日子里,当我总结项目并在他们不工作的日子支付他们的酒店费用时,我仍然需要考虑他们。此外,每天的员工人数可能会在整个项目期间发生变化。此波纹管的示例:

A  B  C  D  E  F  G  H  
5  5  5  5  4  4  X  4

因此,从 A 到 G 被视为周一至周六。周一至周四我有 5 名员工,而周五至周日我将有 4 名员工,即使这 4 名员工在周日休息时没有工作,我仍然需要总结一周以收取自 4 日以来的每日酒店价格员工将在下个星期一回来,也就是上面的“H”继续工作。

那么是否有一个公式,如果我对行求和并且找到一个 X,那么它将对前一个单元格求和两次?而且我不想将员工添加到周日列中,因为我有一个公式可以计算工作日的总和以收取他们的时薪。

解决方法

在下一个单元格中输入这个数组公式(使用 ctrl shift enter

=SUM(IF(COLUMN(A1:H1)<=COLUMNS(B1:H1),NOT(ISNUMBER(B1:H1)))*(IF(ISNUMBER(A1:H1),A1:H1,0)))+SUM(A1:H1)

enter image description here

显然它不会考虑第一个单元格是否包含 X。如果 X 存在,则在任何单元格中休息,它将之前的值加起来两次

此外,如果单元格包含任何数字字符,它也会起作用

,

如果它总是关于包含 X 的星期日,那么我想这就是你的意思: =IF(G2="X",SUM(A2:F2)+F2,SUM(A2:G2))