0

所以我尝试使用索引匹配从具有相同百分比的表中返回值,但它两次返回相同的值而不是另一个具有相同百分比的值这是我的 Excel 视图,对我的问题有帮助吗?

这是我的excel公式

在此处输入图像描述

4

1 回答 1

0

第一:您不能也不应该在未排序的数据中使用 Match(...,...,-1),仅使用 Match(...,...,0)

第二个:你不能搜索第二个相似的,因为...程序无法知道有 2|3... 个相似的对象。所以你在排序的时候一定要得到rank的位置,然后用那个位置用index()来得到你想要的分数和值。因此排序和获取位置(或 ROW())必须同时完成。

第三:做到这一点的方法是使用适用于预先指定数量的单元格的矩阵公式:因此,您可以在包含 200 个元素的表格中查看 10 个结果,并在结果小于 10 时避免错误,但是您''ll never get 11. 另外隐藏具有位置的列以获得清晰...

试试这个公式:

= 大(圆形(偏移量($B$3 ,,, $G$1)*1000,0)* 100 + 行(偏移量($A$1,,, $G$1)),行(偏移量($A$1,, , $G$2 )) )

从 B 列中获取排序列表,从具有 N 行的w B3开始(在G1中指定 N )并查找 m 结果(在g2中指定 m )。Offcourse根据您的项目需要调整粗体

4th:在您将隐藏的列中输入公式,使用 ctrl+shft+Enter (作为矩阵输入)并通过从单元格开始选择它们,将其扩展为您期望的结果(在示例2中)的单元格中使用数组公式,然后 F2(编辑公式)和 ctrl+sht+enter。请注意,数组只能扩展,如果你想缩小它,你必须删除它并重建它......

第 5 步:使用=MOD( ... , 100 )获取索引,其中 ... 是第 3 步和第 4 步的结果


再次第一次:另一个简单的解决方案(*不是我喜欢的)。在您的 Match(item,range,-1) 中,您应该将 item 与前一个 item 进行比较并使用 Offset。在您的公式中,您可以编写: =Index($C$12:$C$23, Match(DF19, Offset( $CQ$12:$CQ$23 ,if(DF19=DF18, Match(DF19,$CQ$12:$CQ$23, 0),0) ,-1) )) 从而将搜索矩阵进一步向下推以避免找到相同的。(用粗体添加代码,其余代码应与您的原始代码相同)

于 2021-11-12T09:47:56.853 回答