在Google电子表格

时间:2017-11-20 22:54:59

标签: google-sheets

我有一个谷歌电子表格,看起来像这样。请注意,KeyColumn值来自有限池。

StartDate      EndDate       KeyColumn
01/01/2016     05/01/2016    Key1
05/01/2016     10/01/2016    Key2
11/01/2016     20/01/2016    Key1

他们是排序的。下一个StartDate大于或等于当前EndDate

我想要做的是使用一种查找创建以下表格。可以手动创建每个键列。

Date           Key1          Key2
01/01/2016     True          False
02/01/2016     True          False
03/01/2016     True          False
04/01/2016     True          False
05/01/2016     True          True
06/01/2016     False         True
对于02/01/2016

TrueKey1,因为它位于第一个表中第一行的范围内,其值为Key1

对于05/01/2016True

Key1Key2,因为它位于第一行和第二行的范围内。

这可以在谷歌电子表格中使用而不使用任何脚本吗?我找不到办法。

2 个答案:

答案 0 :(得分:1)

这可以通过创造性地使用过滤器和计数功能来实现:

enter image description here

答案 1 :(得分:0)

我使用查询函数来解决公式

=iferror(hlookup(B$8,transpose( QUERY({arrayformula(days($A$2:$B$4,)),$C$2:$C$4},"select Col3 where Col1<="& days($A9,) &" and Col2>= " & days($A9,) ,-1)),1,False)=B$8,False)

=iferror(hlookup(B$8,transpose(query($A$2:$C$4,"Select C Where toDate(A) < date '" & text(A9, "yyyy-mm-dd") & "' " & " and toDate(B) > date '" & text(A9, "yyyy-mm-dd") & "' ",-1)),1,False)=B$8,False)

enter image description here