比较2个单元格范围,并从excel中的第3个单元格范围返回一个值

时间:2017-05-05 17:30:21

标签: excel

我创建了我的工作人员计划,我遇到了麻烦。我有一年的电子表格,每列都是一天。我有两行需要比较某一天(列)的值。找到最新的匹配项后,我希望单元格从对应于最新匹配列的第三行返回日期。以下是我到目前为止的情况:

{=INDEX($L$6:$NM$6, MATCH("X"&"DTP",$L$3:$NM$3&$L8:$NM8,0))}

"X"是条件值,"DTP"是作业分配,L6-NM6列是一年中的日期。但是,这只返回两个条件都为真的第一个实例,而不是最后一个。所以我试过了:

{=INDEX($L$6:$NM$6, 1, MAX(IF($L$3:$NM$3="X"&$L8:$NM8="DTP",COLUMN($L$3:$NM$3)-COLUMN($L$3)+1&COLUMN($L8:$NM8)-COLUMN($L8)+1)))}

但是,这只返回January 1, 2017

这两次尝试仍未包含日期限制,以便在下个月的日程安排之前给出最高日期。

如果我尝试在上面的第二次尝试中包含日期限制,我会说:

{=INDEX($L$6:$NM$6<$B$1.....(with all the rest the same)

其中B1包含函数要查找和停止的日期。有了这个,整个函数只返回TRUE

1 个答案:

答案 0 :(得分:1)

数组公式

=AGGREGATE(14,6,L6:NM6/((L3:NM3="X")*(L8:NM8="DTP")), 1)

将从第6行获取最大的日期,其中第3行是&#34; X&#34;和row8是&#34; DTP&#34; 。它应该工作,即使日期没有排序。但是既然如此,那么它们有望回归最近的&#34;匹配。

公式强制不符合条件的单元格中的div / 0,以便参数6(忽略错误)将从搜索max(参数14)中删除它们。

相关问题