我在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
中的图片。
相反,行61
(D38
公式的结果)准确地位于其自己的INDEX-MATCH
定义的查找数组中:
我对不清楚的解释道歉。如果你不理解这种情况,请询问。
答案 0 :(得分:1)
混淆在于你对Match
函数结果的解释。结果是不行号,但相对于提交的数组参数的开头。
在此测试用例中,INDEX-MATCH查找数组从第187行到第309行生成准确的位置结果 - 但结果行号为39
本例中的结果39表示行225;也就是说,距离数组的开头有39个。