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

时间:2017-06-26 09:43:50

标签: arrays excel excel-formula match excel-match

我在Microsoft Excel中有MATCH函数的问题。

我已经习惯使用INDEX-MATCH组合了,之前从未遇到过像这样的问题。

问题是MATCH函数返回的行号在查找数组之外。

输入数据可能看起来有点复杂:

  • A包含10分钟间隔的日期时间(例如:08.03.2016 00:00,08.03.2016 00:10,08.03.2016 00:20,dd.mm.yyyy hh:mm)。< / LI>
  • B包含查找数组,包含与每个日期时间相关的不同值集。

列表很长,B列不是唯一的结果值列,这也是我创建一些命名范围的原因。

有问题的功能是:

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

命名范围是:

  • MainData =所有日期时间和结果单元格,大约为A4:D2000
  • DateSelector =日期时间单元格(动态数组,确认列A中的单元格数量)。
  • hex1_cur =结果列的标识符,在本例中指示列B

E18+E19形成评估期的开始日期时间,E21+E20标志着结束点。

E37具有查找值,如您所见,我使用match_type 1,因为我想找到小于或等于查找的最大值。

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

请注意,主MATCH搜索的查找数组部分中的 INDEX-MATCH数组工作正常,因此错误不应该在我的命名范围内。

我在本工作表中也将此完全相同的结构用于其他目的,到目前为止它是正确的。

那么我的公式中的主MATCH函数如何在INDEX-MATCH - 限制查找数组之外返回一个行号?

在此测试用例中,INDEX-MATCH查找数组会从行187到行309生成准确的位置结果,但结果行号为39,如E38中的图片。

相反,行61D38公式的结果)准确地位于其自己的INDEX-MATCH定义的查找数组中:

Screen snip showing the result row and location of the formula cells

我对不清楚的解释道歉。如果你不理解这种情况,请询问。

1 个答案:

答案 0 :(得分:1)

混淆在于你对Match函数结果的解释。结果是行号,但相对于提交的数组参数的开头。

  

在此测试用例中,INDEX-MATCH查找数组从第187行到第309行生成准确的位置结果 - 但结果行号为39

本例中的结果39表示行225;也就是说,距离数组的开头有39个。