首页 > 解决方案 > 使用索引/匹配时处理平局

问题描述

我目前正在从一张纸中提取前 (5) 个数值并将它们输入到另一张纸中。每个数字都在它自己的列中,并且有一个与该列匹配的名称,EX:

在此处输入图像描述

因此,与我正在处理的数据有联系是很常见的,所以它几乎不赞成我的公式。

获取名称:

=INDEX('Total Cases by Categories'!$B$18:$B$50, MATCH(LARGE('Total Cases by Categories'!$H$18:$H$50, A39),'Total Cases by Categories'!$H$18:$H$50, 0))

获取与名称关联的数值:

=LARGE('Total Cases by Categories'!$H$18:$H, A39)

因此,当一个类别中有 2 个具有相同数值的人时,那个人会出现两次,我假设是因为他们在工作表中的位置。

所以会发生这样的事情: 在此处输入图像描述

因此,如果出现平局,我想列出两个具有相同点数的名称,而不是显示重复值的名字。

任何帮助,将不胜感激!

标签: excelexcel-formula

解决方案


实际上,LARGE 会给你两个并列的名字。这是 MATCH 不能超越第一个。据我所知,没有办法解决这个问题(困难的是不使用 MATCH)。因此,解决方案是没有联系。

这是通过不包含相同数字的辅助列来实现的。这可以通过添加一个无关紧要的小数来实现。由于您正在处理整数,因此添加 0.1 对于您的目的来说是微不足道的,但 13.1 与 13.2 不同。如果您需要从中提取“真实”数字,请使用 INT(13.2)。

为此,使用行号生成微不足道的小数很流行。在第 1 行,ROW()/10将返回 0.1。但在第 10 行,ROW()/10将返回 1.0,这不再是一个微不足道的数字。因此,您必须使用ROW()/100或更大的除数,具体取决于您拥有的行数。尝试ROW()/10^6 - 任何小数都可以完成平局工作。

您可能不喜欢使用 ROW() 会按照他们在工作表中出现的顺序列出绑定的参与者。可以通过任何其他本身不会产生联系的方式来创建微分小数。

通常,添加小数的辅助列将被隐藏。它们包含一个=D23 + (ROW()/10000)管理自身的公式。然后,您可以将该列用于 MATCH 函数,使用辅助列或原始列按 LARGE 的顺序列出所有参与者。只需确保 MATCH 引用辅助列即可。


推荐阅读