Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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_Date - Fatal编程技术网

Excel 重叠日期的行数

Excel 重叠日期的行数,excel,date,Excel,Date,我有两组日期范围,并使用sumproduct确定前两列中的哪些日期范围与后两列中的任何日期范围重叠 我现在需要的是确定第二个日期范围中发生重叠的行,如下面所示 TK 30/03/2015 24/04/2015 22/12/2014 21/01/2015 TRUE TK 20/04/2015 24/04/2015 19/05/2015 21/01/2015 FALSE TK 27/04/2015 15/05/2015 22/04/2015 04/04/2

我有两组日期范围,并使用sumproduct确定前两列中的哪些日期范围与后两列中的任何日期范围重叠

我现在需要的是确定第二个日期范围中发生重叠的行,如下面所示

TK  30/03/2015  24/04/2015  22/12/2014  21/01/2015      TRUE
TK  20/04/2015  24/04/2015  19/05/2015  21/01/2015      FALSE
TK  27/04/2015  15/05/2015  22/04/2015  04/04/2015      TRUE
TK  18/05/2015  20/05/2015  05/02/2015  09/02/2015      FALSE
TK  21/05/2015  22/05/2015  10/02/2015  11/02/2015      FALSE
TK  25/05/2015  25/05/2015  12/02/2015  12/02/2015      FALSE
G中使用的公式是

=SUMPRODUCT((A2=$A$2:$A$5)*((B2<=$E$2:$E$5)*(C2>=$D$2:$D$5)+(D2<=$C$2:$C$5)*(E2>=$B$2:$B$5)))>0

正如我复制的

10/12/2014  06/02/2015  16/02/2015  06/03/2015

10/12/2014  16/12/2014  09/03/2015  11/03/2015
一对日期从每一组到另一组应该匹配,但不是这样

tx

J

如果您的错误是一个
#N/A
,那么我怀疑您没有正确地调整
行(…)
功能。
ROW
函数返回其他范围内的位置,并且必须具有相同的大小(低行数),尽管它不必是相同的行。如果您坚持使用与其他范围相同的行号,那么您将在工作表上得到该行。如果希望查看数据块中的位置,则
行必须从1开始,并且必须缩短为与其他范围相同的精确行数

$A$2:$A$350,$E$2:$E$350
等。每个行有349行(含),但
行($1:$350)
有350行(含),这会导致出现
\N/A
。您需要使用
行($1:$349)
。另一个(更抽象的)示例是从第10行或
$a$10:$a$82开始的73行数据块。要查找数据块中的位置,可以使用
行($1:$73)
。如果您计划将其用作伪匹配函数,则需要调整
函数的形状,以匹配从1开始的数据块中的行数

我不知道您是否需要精确的350行,但这应该在扩展行集上演示该方法

=SUMPRODUCT(ROW($1:$350)*(A2=$A$2:$A$351)*((B2<=$E$2:$E$351)*(C2>=$D$2:$D$351)+(D2<=$C$2:$C$351)*(E2>=$B$2:$B$351)))
=SUMPRODUCT(行($1:$350)*(A2=$A$2:$A$351)*(B2=$D$2:$D$351)+(D2=$B$2:$B$351)))

这就是我所做的-使所有范围大小相同-现在甚至无法识别匹配项,我想我可能需要重新考虑我正在使用的函数请参见下面的表格和结果
TK  19/01/2015  13/02/2015  27/10/2014  18/11/2014  13227

TK  09/02/2015  13/02/2015  12/11/2014  18/11/2014  4318

TK  16/02/2015  06/03/2015  19/11/2014  02/12/2014  4938

TK  09/03/2015  11/03/2015  03/12/2014  05/12/2014  1095

TK  12/03/2015  13/03/2015  08/12/2014  09/12/2014  583

TK  16/03/2015  16/03/2015  10/12/2014  10/12/2014  609

TK  16/03/2015  20/03/2015  10/12/2014  16/12/2014  609

TK  23/03/2015  27/03/2015  17/12/2014  18/12/2014  46

TK  30/03/2015  30/03/2015  19/12/2014  19/12/2014  22

TK  30/03/2015  10/04/2015  19/12/2014  24/12/2014  22

TK  13/04/2015  13/04/2015  05/01/2015  05/01/2015  22

TK  03/12/2014  05/12/2014  12/11/2014  18/11/2014  969

TK  08/12/2014  09/12/2014  19/11/2014  02/12/2014  1603

TK  10/12/2014  06/02/2015  16/02/2015  06/03/2015  18108

TK  10/12/2014  16/12/2014  09/03/2015  11/03/2015  4573
10/12/2014  06/02/2015  16/02/2015  06/03/2015

10/12/2014  16/12/2014  09/03/2015  11/03/2015
=SUMPRODUCT(ROW($1:$350)*(A2=$A$2:$A$351)*((B2<=$E$2:$E$351)*(C2>=$D$2:$D$351)+(D2<=$C$2:$C$351)*(E2>=$B$2:$B$351)))