使用公式接收重复项

Receiving duplicates with formula

过去 2 周我一直在努力弄清楚这个公式!现在,我使用的公式适用于前几个单元格,然后我开始收到重复项,但我不知道为什么。我还希望 #N/A 值为空,因为我确实需要整个 C 列中的公式。

我的目标是什么?

我有超过 1,000 个参赛者的名字,每个参赛者都会被放入一个 'Event'(图 1)中。这些 'Event' 名称放置在每个工作表的单元格 B5 中(如图 2 和 3 所示),总共最多 40 个事件(工作表)。

因此,在第一张图片中,托德 (D14) 在事件 A (E14) 中。我需要托德的名字出现在第二张图片的 C9 中,这是我的公式;但是,如果您向下看第二张图片的以下单元格并查看第三张图片,名称就会开始重复。然后,当事件 A 和 B 没有其他参赛者名称时,我收到 #N/A 值;我想留空。

屏幕截图只是简单示例,但参赛者的姓氏也会列出(格式为:名字 _ 姓氏)。

下面是我的 C9 公式(第 2 张图片)

=INDEX('COMPETITOR NAMES ~ DIVISIONS '!D14:E01,MATCH('First Event'!$B,'COMPETITOR NAMES ~ DIVISIONS '!E14:E01,0),1)

下面是我的 C10 公式(第 2 张图片)

=INDEX('COMPETITOR NAMES ~ DIVISIONS '!D15:E01,MATCH('First Event'!$B,'COMPETITOR NAMES ~ DIVISIONS '!E15:E01,0),1)

感谢您的宝贵时间和帮助!

我认为您无法按照您尝试的方式执行此操作 - 通常 INDEX/MATCH 只会检索 一个 值 - 我假设你是故意不修复范围的开始,以便它每行缩小一个......但是只有当你之前的比赛总是在第一行时才有效,但情况并非总是如此。

要获取与事件关联的所有名称,请在 First Event 工作表单元格 A9

中尝试此 "array formula"

=IFERROR(INDEX('COMPETITOR NAMES ~ DIVISIONS '!D:D01,SMALL(IF('COMPETITOR NAMES ~ DIVISIONS '!E:E01=$B,ROW('COMPETITOR NAMES ~ DIVISIONS '!E:E01)-ROW('COMPETITOR NAMES ~ DIVISIONS '!E)+1),ROWS(A:A9))),"")

使用 CTRL+SHIFT+ENTER 确认并向下复制列

当名字 运行 出来时,这也会阻止你得到错误。

注意:最好首先在竞争对手编号上使用此公式(只需将公式中的第一个范围更改为相关列),因为如果这些是唯一的,您可以通过简单的 VLOOKUPINDEX/MATCH