2015-03-27 5 views
1

Я пытался выяснить эту формулу в течение последних 2 недель! Теперь формула, которую я использую, работает для первых нескольких ячеек, затем я получаю дубликаты, и я не могу понять, почему. Я также хотел бы, чтобы значения # N/A были пустыми, так как мне нужна формула для всего столбца C.Получение дубликатов с формулой

Моя цель?

У меня более 1000 имен конкурентов, и каждый участник будет помещен в «Событие» (рисунок 1). Эти имена «Событие» помещаются в ячейку B5 каждого рабочего листа (показано на рисунках 2 и 3), до 40 полных событий (рабочих листов).

Итак, на первом снимке Тодд (D14) находится в событии A (E14). Мне нужно, чтобы имя Тодда появилось на C9 второй картины, которая имеет мою формулу; но, если вы посмотрите вниз на следующие ячейки второго изображения и на 3-е изображение, имена начнут дублировать. Затем, когда нет других имен конкурентов для событий A и B, я получаю # N/A значения; который я хотел бы оставить пустым.

Экранные снимки - это просто краткие примеры, но у конкурентов также будут указаны их имена (формат будет: имя и фамилия).

Ниже формула у меня есть для C9 (вторая картинка)

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

Ниже формула у меня есть для С10 (второе изображение)

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

Спасибо за ваше время и помощь!

enter image description here

enter image description here

enter image description here

ответ

1

Я не думаю, что вы можете сделать это так, как вы пытаетесь - обычно INDEX/MATCH только будет извлекать только один значение - я предполагаю, что вы намеренно не фиксируя начало диапазона, так что он сжимается на одну строку ... но это будет работать только тогда, когда ваш предыдущий матч всегда находится в первой строке, что не всегда будет иметь место.

Чтобы получить все имена, связанные с событием, попробуйте эту "формулу массива" в First Event ячейке рабочего листа A9

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

подтвержденного CTRL + SHIFT + ENTER и скопировал вниз столбец

Это также остановит вас при получении ошибок при истечении срока действия имен.

Примечание: может быть лучше использовать эту формулу сначала на номера конкурентов (просто измените первый диапазон в формуле на соответствующий столбец), потому что, если они уникальны, вы можете получить имена конкурентов простым VLOOKUP или INDEX/MATCH

+0

Спасибо вам большое! Это сработало отлично! – sugarwhitesand

Смежные вопросы