Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在excel中跨单元格维护值?_Excel - Fatal编程技术网

是否可以在excel中跨单元格维护值?

是否可以在excel中跨单元格维护值?,excel,Excel,以下是我的工作内容: A B C D E F 1 | 2/22 | 2/28 | 3/1 | 2 |Est | Act | Est | Act | Est | Act | 3 | 8 10 2 1 1 0 | 在本例中,合并了日期单元格,目标是日期应跨越其下的估计列和实际列 我想做的是得到这些值的总和,其中: 如果今天小于或等于此处A列中的日期,则将该日期过去后的实际

以下是我的工作内容:

    A     B     C     D      E     F
1 |  2/22    |    2/28   |    3/1     |
2 |Est | Act | Est | Act |  Est | Act | 
3 | 8    10     2     1      1     0  |
在本例中,合并了日期单元格,目标是日期应跨越其下的估计列和实际列

我想做的是得到这些值的总和,其中:

如果今天小于或等于此处A列中的日期,则将该日期过去后的实际值相加。否则,如果今天大于A列中的日期,那么求估计值的和,因为我试图得到总小时数,包括预测的小时数

所以我写了一个公式,我认为可以这样做:

=SUM(IF(TODAY()<=A1:F1,IF(A2:F2="Act",A3:F3),IF(TODAY()>A1:F1,IF(A2:F2="Est",A3:F3))))
=SUM(如果(今天的A1:F1,如果(A2:F2=“Est”,A3:F3)))
我开始的那天是2/28,我希望总数是11(Act)+1 Est=12

不过,在这种情况下,由于我的公式会查看“合并”单元格下的所有单元格,所以我不确定这是否可能。如果我在本例中打印出A1和B1的值,我将分别得到2月14日和1月00日,这对于我的公式来说是个问题


这有意义吗?有可能绕过它吗?

也许有点像这样:

=SUMPRODUCT((A1:F1<=TODAY())*(A1:F1<>"")*B3:G3)+SUMPRODUCT((A1:F1>TODAY())*A3:F3)
它给出数组
{TRUE,TRUE,TRUE,FALSE,TRUE}
。类似地,
`A1:F1”“
给出了数组:

{TRUE,FALSE,TRUE,FALSE,TRUE,FALSE}
{1,0,1,0,0,0}
当相乘时,它们被转换为1和0,1为真,0为假<代码>(A1:F1TODAY())*A3:F3),我们得到:

SUMPRODUCT({FALSE,FALSE,FALSE,FALSE,TRUE,FALSE}*{8,10,2,1,1,0})

这给了我一个答案。

这真是太棒了,谢谢你的解释。非常感谢!
{1,0,1,0,0,0}*B3:G3
{1,0,1,0,0,0}*{10,2,1,1,0,0}
(10,0,1,0,0,0}
SUMPRODUCT({FALSE,FALSE,FALSE,FALSE,TRUE,FALSE}*{8,10,2,1,1,0})