首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel匹配函数返回查找数组外的行

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

Stack Overflow用户
提问于 2017-06-26 09:43:49
回答 1查看 282关注 0票数 1

我在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列不是唯一的结果值列,这就是我也创建了一些命名范围的原因。

有问题的功能是:

代码语言:javascript
复制
=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查找数组中:

我很抱歉解释不清楚。如果你不了解情况,请问一问。

EN

回答 1

Stack Overflow用户

发布于 2017-06-26 10:31:10

混淆之处在于您对Match函数结果的解释。结果是不是行号,而是相对于的位置(提交的数组参数的开头)。

在这个测试用例中,索引匹配查找数组会产生从第187行到第309行的精确定位结果,但由此产生的行号为39。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44756892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档