Excel(Google电子表格):获取两个日期之间的值

时间:2018-01-05 15:13:03

标签: excel-formula

我在这里和其他网站上看到了很多关于此的问题。然而,即使我已经阅读了所有内容,我也无法实现我想要的目标。

我有一个Excel文档,在单元格A2中是一个开始日期,在B2中是一个结束日期。

在A5:C11我有一张数据表。在单元格A5:A11我有日期,在B5:C11我有数据。现在我想显示来自B和C的数据,如果它们落在单元格A2和B2中给出的日期之间。我想通过一个公式来做到这一点。我已尝试过许多带索引,匹配,vlookup,小型,sumproduct,if(s)等的公式。也许你们中的任何人都可以帮助我?

Start date  End date    
29-12-2017  29-12-2017  

Date       Users    Pageviews
04-01-2018  350         400
03-01-2018  300         350
02-01-2018  250         300
01-01-2018  200         250
31-12-2017  150         200
30-12-2017  100         150
29-12-2017  50          100

在这种情况下,我想要输出,最好是3个单元格:

29-12-2017  50  100

2 个答案:

答案 0 :(得分:0)

使用F5中的此公式在F5中创建另一个表:G11并复制:

=IF(AND($A5>=$A$2,$A5<=$B$2),B5,"")

然后在H5:I11使用此公式删除空白行(改编自here):

=IFERROR(INDEX(F$5:F$11,AGGREGATE(15,6,(ROW(F$5:F$11)-ROW(F$5)+1)/(F$5:F$11<>""),ROWS(G$5:G5))),"")

结果: enter image description here

参数以绿色变化,数据以蓝色变化,中间公式变为灰色(隐藏这些列?),最终结果变为橙色。

答案 1 :(得分:0)

要获取日期列表,请使用:

=IFERROR(AGGREGATE(15,6,$A$5:$A$11/(($A$5:$A$11>=$A$2)*($A$5:$A$11<=$B$2)),ROW(1:1)),"")

然后,一旦我们有了日期,它就是另一个简单的Vlookup:

=IF(F5<>"",VLOOKUP($F5,$A$4:$C$11,COLUMN(B:B),FALSE),"")

将第一个放入F5并复制下来。

将第二个放入G5并复制一列然后向下。

enter image description here