Excel:如何将涉及日期范围的指定日期的列与日期相加

问题描述 投票:0回答:2

我确信我已经用一个简短的公式看到了这个,但我很难记住如何做到这一点。

我试图找到一个日期在一个区间内的位置,并将另一列与从该区间中的该点到所有指定日期间隔的末尾相加。

因此,在下面的图像中,间隔在列D和E中,并且要查找的日期在单元格F1中,即12/12/2016

我想找到12/12/2016落在范围内的地方,并相应地对F列求和,即12/12/2016 - 13/12/2016(2天),然后所有的间隔将是2 + 6+2+1+3 = 14。我将此结果返回到单元格J14

Data

我已经使用直方图的想法来计算这个,但是公式很大且不实用,我只知道我已经看到了类似的问题,在SO的某个地方却无法找到它,这只能用SUMPRODUCTOFFSET来实现。我想FREQUENCY也可以使用。

所以我目前所拥有的是:

=SUMPRODUCT(OFFSET(F6,MATCH(TRUE,OFFSET(E6,0,0,COUNT(E6:E1048576),)>F1,0)-1,0,COUNTA(F6:F1048576),))-(F1-OFFSET(D6,MATCH(TRUE,OFFSET(E6,0,0,COUNT(E6:E1048576),)>F1,0)-1,,,))

哪里,如果我把它分成几个阶段,我发现哪个桶(范围)有目标值:

={MATCH(TRUE,OFFSET(E6,0,0,COUNT(E6:E1048576),)>F1,0)}

我用以下公式计算到该范围的距离:

=F1-OFFSET(D6,H13-1,,,)

我从这一点总结到范围的结尾:

=SUMPRODUCT(OFFSET(F6,H13-1,0,COUNTA(F6:F1048576),))-I13

那么,有人能帮助我提供更短效的配方吗?

数据:

| Start of measurement | 12/12/2016 |                |
|----------------------|------------|----------------|
|                      |            |                |
|                      |            |                |
|                      |            |                |
| From                 | To         | Number of days |
| 13/11/2016           | 17/11/2016 | 5              |
| 10/12/2016           | 13/12/2016 | 4              |
| 03/02/2017           | 08/02/2017 | 6              |
| 06/12/2017           | 07/12/2017 | 2              |
| 09/12/2017           | 09/12/2017 | 1              |
| 12/12/2017           | 14/12/2017 | 3              |
excel excel-formula
2个回答
1
投票

这应该适合你:

=SUMIF(E6:E11,">="&F1,F6:F11)-F1+INDEX(D6:D11,MATCH(F1,D6:D11))

1
投票

这个怎么样?

=SUMIFS(F6:F11,D6:D11,">="&F1)+MINIFS(E6:E11,E6:E11,">="&F1)-F1+1

SUMIFS()给出了6+2+1+3部分,而MINIFS() - F1 + 1给出了2部分。


请注意,___IFS()函数是最新的,在旧版本的Excel中不可用。

© www.soinside.com 2019 - 2024. All rights reserved.