Формула ИНДЕКСИРОВАНИЯ и сопоставления, позволяющая избежать дубликатов

#excel #indexing #match #formula

#excel #индексирование #сопоставление #формула

Вопрос:

Я получил первый лист с именем и компаниями людей, я хочу импортировать названия компаний на второй лист, избегая дубликатов.

Я использовал функцию INDEX amp; MATCH, но не смог заставить ее работать.

Вот моя формула: = IFERROR(INDEX(‘Список контактов’!B $ 2: B $ 990;SMALL(IF(‘Список контактов’!B $ 2:B$ 990<>»»;СТРОКА(КОСВЕННАЯ(«1:»amp; СТРОКИ(‘Список контактовcontact’!B $ 2: B $ 990)))); СТРОКИ ($ 1: 1))))

Комментарии:

1. Во-первых, использование INDIRECT() вряд ли когда-либо будет хорошим решением. Если у вас последняя версия Excel, функция UNIQUE() может делать то, что вы хотите.

2. Я попытался использовать функцию UNIQUE, но получил тот же результат =UNIQUE(IFERROR(INDEX(‘Список контактов’!B $ 2:B $ 990;SMALL(IF(‘Список контактов’!B $ 2:B$ 990<>»»;СТРОКА(КОСВЕННЫЙ(«1:»amp; ROWS(‘Список контактов’!B $ 2: B $ 990))));СТРОКИ($1:1)))))

3. Что произойдет, если вы просто используете =UNIQUE(‘Liste de contact’!B $ 2:B $ 990) в одной ячейке на новом листе? UNIQUE() — это функция массива, поэтому вы используете ее в одной ячейке, и Excel попытается расширить результаты для вас.

4. Угадайте, что сработало! Большое спасибо!

5. De rien. Рад, что вы готовы и работаете.

Ответ №1:

Именно поэтому в Excel была добавлена функция UNIQUE() (вместе с SORT() и FILTER()).

введите описание изображения здесь

Пользователи писали свои собственные UDF или прибегали к формулам, указанным в вопросе. Я полагаю, Microsoft, вероятно, пришлось подождать, пока Excel лучше справится с функциями массива.