Как отсортировать два столбца в Excel по значениям, соответствующим столбцу A?

Привет, у меня есть две колонки в Excel с числами. В столбце A больше чисел, чем в столбце B. Я хочу отсортировать столбец B по значениям, которые соответствуют в столбце A Если значение в столбце A не может быть найдено в столбце B, я хочу, чтобы столбец B отображался "MISSING" Я уже отсортировал оба столбца в порядке возрастания .

например. вывода я хочу:

A       B  
2001    2001  
2002    2002  
2003    MISSING  
2004    2004  
2005    MISSING  
2006    MISSING  
2007    2007  

Подскажите, пожалуйста, какую формулу мне использовать. Спасибо


person user3419585    schedule 06.06.2014    source источник


Ответы (3)


Подсчитайте количество вхождений значения из столбца A в столбец B. Если число равно 0, оно отсутствует.

=IF(COUNTIF(B:B,A1)=0,"Missing",A1)

person witchchild    schedule 06.06.2014
comment
Спасибо, это именно то, что мне нужно! - person user3419585; 06.06.2014
comment
Не забудьте отметить его, если это ответ на ваши вопросы. Спасибо! - person witchchild; 06.06.2014

Если отдельных элементов не так много, вы можете просто добавить список с помощью (a = number, b = "MISSING"), упорядочить по A, а затем удалить запись "MISSING", если есть другие записи с тем же значением А

Первая часть (вставка и порядок) может быть выполнена в Excel, но я думаю, что для второй части (удаление «отсутствующих», если больше записей) вам понадобится VBA.

Обновление: на основе комментариев ниже

Предполагая, что у вас есть такая таблица Excel:

A     B
2001  2001
2001  2003
2002  2005
2003
2004
2004
2005

и вам нужно что-то вроде:

A     B
2001  2001
2001  2001
2002  Missing
2003  2003
2004  Missing
2004  Missing
2005  2005

Вы можете использовать что-то вроде следующего алгоритма:

  • заказать всю таблицу по A
  • в столбце C заполните ячейки, соответствующие ячейкам в A:

    =IF(ISNA(VLOOKUP(Ax,$B:$B,1,FALSE)), "Missing", Ax)

Конечно, замените x в Ax индексом ячейки.

В C вы получите результат с «отсутствующими» записями.

person Laur Ivan    schedule 06.06.2014
comment
Извините, я не понимаю. Мне просто нужно отсортировать столбец B по значениям, совпадающим в столбце A. В столбце B меньше элементов, чем в столбце A. Если значение в столбце A не находится в столбце BI, просто нужно, чтобы столбец B сказал MISSING - поэтому вместо пропусков у меня будет ОТСУТСТВУЕТ - person user3419585; 06.06.2014
comment
например. 2001 2001 2002 2002 2003 ОТСУТСТВУЕТ 2004 2004 2004 ОТСУТСТВУЕТ - person user3419585; 06.06.2014
comment
Спасибо большое! - person user3419585; 09.06.2014

Эта формула должна работать:

=IF(ISNA(VLOOKUP(AA,$B:$B,1,FALSE)), "Missing", AA)

ИМЯ?

person Patrick Burwell    schedule 10.11.2015
comment
Добро пожаловать в SO. Ваши ответы должны быть понятными. Вам нужно пометить свой код и сделать его читабельным. - person Mohamed Taher Alrefaie; 10.11.2015