Отбор уникальных значений из двух диапазонов в MS EXCEL

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

Пусть столбцы А и В содержат списки названий компаний, в некоторых ячейках имеются дубликаты.

Задача

Создадим список, состоящий только из уникальных значений (см. файл примера).

Решим задачу двумя способами: через промежуточное создание объединенного списка и без него.

Решение с использованием объединенного списка

В статье Объединение списков изложено решение создания объединенного списка из 2-х списков. Воспользуемся этим решением и создадим объединенный список, записав в ячейке С5 формулу
=ЕСЛИ(СТРОКА()-СТРОКА($C$4)>СЧЁТЗ(Список1);
ИНДЕКС(Список2;СТРОКА(C5)-СЧЁТЗ(Список1)-СТРОКА($B$4));A5)

Динамический диапазон Список1 представляет собой Исходный список №1 с названиями компаний, причем его границы могут изменяться в зависимости от количества числа введенных значений (пропуски не допускаются). Аналогичные диапазоны Список2 и Объединенный_список созданы для столбцов Исходный список №2 и Объединенный список.

Далее используем решение, приведенное в статье Отбор уникальных значений (убираем дубликаты из столбца).

Записав в E5 формулу массива:
=ЕСЛИОШИБКА(ИНДЕКС(Объединенный_список;
ПОИСКПОЗ(0;СЧЁТЕСЛИ($E$4:E4;Объединенный_список);0));"")

и скопировав ее вниз получим список уникальных значений из двух столбцов.

Тестируем

1. Введите в ячейку А9 название новой компании – ООО Фортик
2. В таблице Уникальные значения через объединенный список будет автоматически выведено название новой компании.

Решение без использования объединенного списка

В принципе, можно обойтись и без объединенного списка. Платой за это будет значительное усложнение формулы массива:
=ЕСЛИОШИБКА(ЕСЛИОШИБКА(
ИНДЕКС(Список1;ПОИСКПОЗ(0;СЧЁТЕСЛИ($F$4:F4;Список1);0));
ИНДЕКС(Список2;ПОИСКПОЗ(0;СЧЁТЕСЛИ($F$4:F4;Список2);0))
);"")

Для вывода промежуточных результатов вычислений можно воспользоваться клавише F9, выделив интересующую часть формулы.

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 4.5 (2 оценок)

Комментарии

Holy

Что то файла с примером нет

Creator

Файл добавлен.

pumpking

Подскажите, а возможно как-нибудь игнорировать/пропускать пустые ячейки в списке? Иначе он в объединенном списке выдает "0" при считывании этой пустой ячейки.

Creator

=ЕСЛИОШИБКА(ЕСЛИОШИБКА(ИНДЕКС($A$5:$A$11;ПОИСКПОЗ(0;ЕСЛИ(ЕПУСТО($A$5:$A$11);"";СЧЁТЕСЛИ($G$4:G9;$A$5:$A$11));0));ИНДЕКС($B$5:$B$15;ПОИСКПОЗ(0;ЕСЛИ(ЕПУСТО($B$5:$B$15);"";СЧЁТЕСЛИ($G$4:G9;$B$5:$B$15));0)));"")

Не используйте динамические диапазоны Список1 и Список2

Файл примера обновлен, см. столбец G

pumpking

Отлично, все работает! Спасибо! Буду теперь разбираться :-)

Олег

Creator, как написать Вам напрямую не в комментах?

Creator

Если вопрос по какой-либо теме, то лучше в группу ]]>http://vk.com/excel2ru]]>, чтобы всем было полезно. Если нужно, что-то разработать на заказ, то на creator@excel2.ru

Яндекс.Метрика