Мне нужен способ сравнить две таблицы в рабочей книге, найти различия, а затем записать эти различия в таблицу в последовательном порядке в том же столбце под существующими числами.

Sheet1 имеет номера участвующих дилеров. Все номера дилеров указаны в столбце C, начиная с ячейки 5. Все участвующие дилеры заполняются вниз. (примечание: эти дилеры перечислены в приказе округа, поэтому в некоторых ячейках вместо номера дилера будет указано слово «ИТОГО»). В столбце B размещено письмо округа. Мне также нужно нести это письмо.

"Лист1":

A    207475   
A    207775  
B    TOTAL   

В Листе 2 я перечислил полный список Дилеров для сравнения.

"Лист2":

A    206600   
A    207475  
B    206624 

Я хотел бы, чтобы мои отсутствующие дилеры показывали ниже раздел, который я установил как отсутствующие дилеры, как в следующем примере: (игнорируя итоги округа) (все же фиксируя письмо округа в столбце B)

Пропущенные DLRS.

A    207775   
A    206600  
B    206624 

1 ответ1

1

Это одна из тех проблем, которые действительно должны быть решены с помощью базы данных, так как Excel не очень подходит для этого. НО, excel может делать все что угодно, вот как я бы решил это, используя только клеточные формулы.

  1. На вашем втором листе в столбце (если хотите, скрытым) ДО колонки дилеров, добавьте формулу счетчика, чтобы определить, находится ли дилер на Листе 1 или нет. Здесь я обернул счет в формулу IF, и если он возвращает 0 (дилер не был найден), я выплюнул строку, в которой я сейчас нахожусь ... это будет важно на следующем шаге. Предполагая, что ваш список дилеров на листе 2 также находится в "C", начиная со строки 5 IF(COUNTIF(Sheet1!C:C,sheet2!C5)=0, ROW(),"")
  2. В столбце непосредственно после этого последнего, который мы только что создали, мы будем использовать формулу RANK для нумерации строк дилера от 1 до того, где дилер не был сопоставлен на Листе 1 (именно поэтому нам понадобился ROW ()). =RANK(A5,$A$5:$A$500,1) (здесь я предположил, что столбец шага 1 был 'A'
  3. Теперь у нас есть все недостающие дилеры, расположенные сверху вниз с последовательными номерами. На новом листе или там, где вы хотите, чтобы ваш список Дилеров не был найден на Листе 1, создайте столбец и пронумеруйте строки от 1 до скольких пропавших дилеров. Я буду считать Sheet3, колонка A, начиная с строки 1
  4. В следующем столбце выполните функцию vlookup для поиска первого пропавшего дилера с =Vlookup(A1,Sheet2$A$5:$A$500,3, false) и скопируйте эту функцию по всем строкам.

Это немного сложно, и неортодоксальное использование как ROW(), так и RANK(), но не позволяет вам работать с базами данных, VBA или еще хуже ... вручную.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .