Найдите элементы в одном столбце Excel, которых нет в другом столбце, и поместите их в новый столбец
Что я хочу сделать
Найти элементы в одном столбце (ColA
) которых нет в другом столбце (ColB
). Что делать, если я хочу, чтобы результат не был выделен, а в другом столбце (ColC
) без пустых строк.
пример
ColA - ColB - ColC
1 - 1 - 4
3 - 2 - 8
10 - 3 - 10
4 - 5 - ""
5 - 7 - ""
8 - 6 - ""
9 - 9 - ""
Что я попробовал еще
До сих пор мне удавалось получить следующий результат. Я делаю это с помощью следующей формулы в столбце C:
=IF(IFERROR(MATCH(A2;B$2:F$300;0);"")<>"";"";A2)
Результат:
ColA - ColB - ColC
1 - 1 - ""
3 - 2 - ""
10 - 3 - 10
4 - 5 - 4
5 - 7 - ""
8 - 6 - 8
9 - 9 - ""
Но я хочу избежать пустых ячеек в полковнике С.
Я попробовал формулу, которую нашел в одном из ответов на этом сайте:
IFERROR(INDEX($A$2:$A$1999,MATCH(0,IFERROR(MATCH($A$2:$A$1999,$B$2:$B$399,0),COUNTIF($C$1:$C1,$A$2:$A$1999)),0)),"")
... но это не работает. Может быть, я неправильно адаптирую эту формулу...?
1 ответ
Вам придется использовать формулу массива. Предполагая, что ваши данные в ColA и ColB находятся в строках с 1 по 10, выберите строки с 1 по 10 в ColC, а затем введите следующую формулу в строке формул:
=IFERROR(SMALL(IF(ISNA(MATCH(A1:A10,B1:B10,0)),A1:A10,""),ROW()),"")
Сохраните его как формулу массива, нажав Ctrl + Shift + Enter (в Windows) / Cmd + Shift + Enter (в OS X) - если вы все сделали правильно, формула будет отображаться в скобках ({}
) и выглядят одинаково во всех клетках. Применительно к данным вашего примера, это то, что вы получаете:
Обратите внимание, что при работе с формулами массива есть несколько ошибок (их можно редактировать только путем редактирования всего диапазона, их нельзя сжать, их можно развернуть только путем ручного редактирования формулы… подробнее см. Статью, на которую я ссылался, раздел "Правила"). для ввода и изменения формул массива ").