Excel匹配函数返回查找数组外部的行

我有一个有问题的MS Excel中的MATCHfunction的应用程序。 我很习惯使用INDEX-MATCH组合,从来没有遇到过这样的问题。 问题是由MATCH函数返回的行号在查找数组之外。 input数据可能看起来有点复杂:

列A包含10分钟间隔的date(例如:08.03.2016 00:00,08.03.2016 00:10,08.03.2016 00:20,dd.mm.yyyy hh:mm)。 列B包含查找数组,由与每个date时间相关的不同值组成。 列表很长,列B不是唯一的结果值列,这就是为什么我也创build了一些命名范围。 有问题的function是:

=MATCH(E37;INDEX(MainData;MATCH(E18+E19;DateSelector;0);COLUMN(hex1_cur)):INDEX(MainData;MATCH(E21+E20;DateSelector;0);COLUMN(hex1_cur));1) 

其中命名的范围是:

MainData =所有date时间和结果单元格,大约A4:D2000

DateSelector =date时间单元格(dynamic数组,确认列A中单元格的数量)

hex1_cur =结果列的标识符,在这种情况下表示列B

E18 + E19表示评估期的开始date时间,E21 + E20表示结束点。 E37有查找的价值,正如你所看到的,我使用match_type 1,因为我想find最大值小于或等于我的查找。

为什么该function在屏幕剪辑的第一个评估期(公式在D38)中工作,但在下一个(E38)中不再有效?

请不要在主MATCHsearch的查找数组部分中INDEX-MATCH数组正常工作 ,所以故障不应该在我的命名范围内。 我在这个工作表中也使用这个完全相同的结构用于其他目的,到目前为止它是正确的。 那么我的公式中的主MATCH函数如何返回INDEX-MATCH限制查找数组之外的行号呢?

在这个testing用例中,INDEX-MATCH查找数组产生从187行到309行的精确位置结果 – 但是结果行数是39,如E38中的图片所示。 相反,第61行(D38公式的结果)准确地在它自己的INDEX-MATCH定义的查找数组内。

屏幕剪辑显示公式单元格的结果行和位置

我对不清楚的解释表示歉意,请问你是否不了解情况。

混淆是在你解释Match函数的结果。 结果不是行号,而是相对于提交的数组参数的开始位置。

在这个testing案例中,INDEX-MATCH查找数组产生了从第187行到第309行的精确位置结果 – 但是结果行数是39

本例中的结果39表示行225; 也就是从数组开始的39位。