具有双匹配的索引返回不正确的最接近值

时间:2018-09-25 15:51:13

标签: excel-formula

我有一个导出到Excel的计划,该计划如下所示(选项卡“数据”): Example

每条生产线都有很多人在工作。现在,我的目标是显示每分钟有多少人在处理一条线路。我们针对每个产品组进行计划,并且每分钟一条生产线需要将几个产品组组合在一起。

为了获得每分钟的生产量,我创建了以下内容(“会话”标签): enter image description here

=INDEX(Data!$H$2:$H$157;MATCH($N$1&A4;Data!$B$2:$B$157&Data!$C$2:$C$157;1))

在示例中,它可以正常工作。但是,该公式似乎并不总是每次都返回正确的“ Artikelomschrijving”(H)。当我将此公式扩展到其他产品组时,我得到的返回值不正确。

我了解到数据需要升序排序,因为我使用match_type1。这样做时,我会为某些产品组获得正确的回报,但是给定的示例突然返回了错误的值。

我无法按升序对C列和A列进行排序,以使公式始终返回正确的项目。你能帮我克服这个障碍吗?

2 个答案:

答案 0 :(得分:0)

经过一点点Google翻译工作后,如果我正确理解了您的问题,则需要找到记录的“项目说明”(H),其中“行”(B)= N1中的值,时间在开始时间和结束时间之间。

这是一个数组公式,您必须使用Ctrl+Shift+Enter

进行确认。

=INDEX(Data!$H$2:$H$157,MATCH(1,(Data!$B$2:$B$157=$N$1)*(Data!$C$2:$C$157<$A2)*(Data!$D$2:$D$157>=$A2),0))

或使用分号语法:

=INDEX(Data!$H$2:$H$157;MATCH(1;(Data!$B$2:$B$157=$N$1)*(Data!$C$2:$C$157<$A2)*(Data!$D$2:$D$157>=$A2);0))

答案 1 :(得分:0)

我找到了解决方案,谢谢您为我指出了正确的方向。这是我用以下公式修正的公式:

 =ALS.FOUT(INDEX(Data!$H$2:$H$154;MATCH(1;(Conversie!L$1=Data!$B$2:$B$154)*((Conversie!$A32>=Data!$C$2:$C$154)*(Conversie!$A32<=Data!$D$2:$D$154));0));"")