我在Microsoft中有一个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)。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 = Datetime单元格(动态数组,确认A列中单元格的数量)。hex1_cur =结果列的标识符,在本例中指示为B列。E18+E19窗体计算期间的起始日期时间,E21+E20标记结束点。
E37具有查找值,如您所见,我使用match_type 1,因为我希望定位小于或等于查找值的最大值。
为什么函数在屏幕snip中的第一个计算期间有效(公式在D38**),中是,而对于下一个(**E38**)?**则不再适用)
请注意,主匹配搜索的查找数组部分中的INDEX-MATCH 数组工作良好,因此错误不应该在我的命名范围内。
在这个工作表中,我也将这个完全相同的结构用于其他目的,而且到目前为止它是正确的。
那么,公式中的主MATCH INDEX-MATCH**-restricted 函数如何返回INDEX-MATCH**-restricted查找数组之外的行号?**
在这个测试用例中,INDEX-MATCH查找数组会产生从行187到行309的精确定位结果,但是得到的行号是39,如E38中的图片所示。
相反,行61 ( D38公式的结果)准确地位于它自己的INDEX-MATCH-defined查找数组中:

我很抱歉解释不清楚。如果你不了解情况,请问一问。
发布于 2017-06-26 10:31:10
混淆之处在于您对Match函数结果的解释。结果是不是行号,而是相对于的位置(提交的数组参数的开头)。
在这个测试用例中,索引匹配查找数组会产生从第187行到第309行的精确定位结果,但由此产生的行号为39。
在本例中,结果39表示行225;也就是说,39远离数组的开头。
https://stackoverflow.com/questions/44756892
复制相似问题