2016-06-09 4 views
1

Я прочитал некоторые темы, похожие на мои, но я не мог найти ответ за то, что мне нужно. Возможно, это логическая проблема с моей стороны.Как сравнить строки по листам в Excel?

У меня есть два листа с идентичными данными, однако они исходят из двух разных источников. Мне нужно сравнить строки с 1 листа на строки второго листа, чтобы узнать, что отсутствует или отличается, поэтому я могу исправить.

У меня есть столбцы A - M, которые имеют точки данных. Затем я столбец N, который я объединил все столбцы вместе и сравнил их с другим листом, делающим то же самое, чтобы я мог найти Non-matching. Из 40 000 записей у меня 6100, которые не совпадают.

То, что я пытаюсь сделать, это сравнить всю строку (или конкатенированную) и выяснить, какое значение отличается от двух. Я пытался сделать это с помощью IF с VLookup и вложенными IF, но это не получилось правильным, потому что я не получал его, чтобы сравнить одно и то же значение с той же строкой, плюс я закончил выделенное пространство вложенности. Я думал о матче, система индексов могла бы работать. Мне нужна помощь!

Редактировать: Чтобы быть более четкими, строки не выстраиваются в линию. Я должен убедиться, что все строки из листа «1» находятся в листе «2», но не все листы «2» должны быть в «1». В основном мне это нужно -

Из листа «1» найдите значение в ячейке A1 в листе «2» A: A. Затем сопоставьте B1-N1 с той же строкой (любая строка). Если возможно, я хотел бы идентифицировать либо путем выделения, либо наличия такого слова, как «Несоответствие»

ответ

0

Я бы воспользовался решением VBA. Если количество строк одинаково для каждого листа, и вы сравниваете строку 1 со строкой 1 и т. Д., То:

1) Прокрутите каждую строку и соедините ячейки строк для каждого листа.

2) Примените чистоту и функцию обрезки к результатам.

3) Сравните результаты.

4) Если они совпадают, перейдите к следующему ряду.

5) Если они не совпадают, проведите через каждую ячейку диапазона строк, чтобы найти те, которые отличаются и фиксируют ее как-то.

6) Распечатайте результаты где-нибудь.

ИЛИ

Поместите диапазон значений каждого листа в два массива и сравнить массивы (быстрее).

Я уверен, что есть лучший способ, но это будет мой подход, по крайней мере.

+0

Мне сложно рассказать, что мне нужно. Скажем, моя строка в листе a состоит из A B C D E F. Затем я завершаю и получаю ABCDEF. Я сравнил это с Листом 2, чтобы узнать, имеет ли он ABCDEF. Если этого не произошло, следующим шагом, который мне нужен, является поиск, если у него есть «А».Если у него есть A, тогда мне нужно найти, если эта строка имеет «A», если следующий столбец в этой строке имеет «B», потому что возможно иметь 1 или Q или что-то еще. Если он имеет B, то перейдите в 3-й столбец и так далее, это имеет смысл? –

+0

@ChristopherWeber Да, это имеет смысл. Это то, что я говорю выше, делайте это только с VBA. – Brian

0

Обычно я создаю новый лист и использую каждую ячейку для сопоставления ячейки по ячейкам по листам. то есть в новой ячейке листа a1 положить =value(Sheet1!A1=Sheet2!A1) Это даст вам 1, где они одинаковые, и нуль, где они отличаются.

Если вы хотите, вы можете установить столбец n на исходном листе как сумму той же строки на новом листе для удобства использования.

Смежные вопросы