7 / 7 / 1 Регистрация: 04.05.2012 Сообщений: 70 |
|
1 |
|
Сравнение двух столбцов листа и выведение совпавших данных06.09.2012, 16:57. Показов 44193. Ответов 17
Доброго времени суток. Возникла такая потребность: Помогите, пожалуйста составить макрос.
0 |
7 / 7 / 1 Регистрация: 04.05.2012 Сообщений: 70 |
|
06.09.2012, 16:59 [ТС] |
2 |
Вот пример таблицы
0 |
1250 / 408 / 52 Регистрация: 14.06.2009 Сообщений: 629 |
|
06.09.2012, 17:14 |
3 |
Помогите, пожалуйста составить макрос. Формулой.
1 |
Busine2012 1300 / 402 / 22 Регистрация: 21.10.2011 Сообщений: 1,285 |
||||
06.09.2012, 17:18 |
4 |
|||
2 |
7 / 7 / 1 Регистрация: 04.05.2012 Сообщений: 70 |
|
06.09.2012, 17:37 [ТС] |
5 |
Спасибо Вам за помощь!!!
0 |
PuHeL |
||||
19.11.2012, 18:03 |
6 |
|||
|
we2seek 84 / 84 / 42 Регистрация: 25.01.2010 Сообщений: 386 |
||||
05.06.2013, 01:25 |
7 |
|||
СПАСИБО! Чудный код!
0 |
17 / 1 / 2 Регистрация: 20.04.2016 Сообщений: 120 |
|
11.04.2017, 16:23 |
8 |
Доброго времени суток.
0 |
2784 / 716 / 106 Регистрация: 04.02.2011 Сообщений: 1,443 |
|
11.04.2017, 23:13 |
9 |
На скорую руку и для разового применения и функции ВПР могло хватить — взаимно проВПРить два столбца. А вообще, задача настолько распространенная в повседневных задачах, что удивляюсь, почему до сих пор нет какой-то кнопки в Excel для сравнения двух наборов данных.
0 |
17 / 1 / 2 Регистрация: 20.04.2016 Сообщений: 120 |
|
12.04.2017, 12:45 |
10 |
К сожалению мне не для разового применения. Каждую неделю нужно будет проверять чуть меньше 11000 ячеек.
0 |
2784 / 716 / 106 Регистрация: 04.02.2011 Сообщений: 1,443 |
|
12.04.2017, 14:42 |
11 |
Тогда макросы себя оправдают, точно.
0 |
4038 / 1423 / 394 Регистрация: 07.08.2013 Сообщений: 3,541 |
|
13.04.2017, 03:22 |
12 |
BSH,
0 |
17 / 1 / 2 Регистрация: 20.04.2016 Сообщений: 120 |
|
13.04.2017, 08:40 |
13 |
На странице «Разница приборов» находится главная таблица. На странице «Приборы» вводятся данные старые с листа «Разница приборов», и новые данные я их уже ввел. В новых данных есть новые приборы, которые нужно перенести на страницу «Разница приборов» в столбец «A» в конец.
0 |
snipe 4038 / 1423 / 394 Регистрация: 07.08.2013 Сообщений: 3,541 |
||||
13.04.2017, 09:03 |
14 |
|||
если я правильно понял условие задачи — то вот так
код надо добавить отключением и включением обновления экрана — что бы не мерцало
1 |
BSH 17 / 1 / 2 Регистрация: 20.04.2016 Сообщений: 120 |
||||
13.04.2017, 10:09 |
15 |
|||
при выполнении выдает ошибку и останавливается
Миниатюры
0 |
4038 / 1423 / 394 Регистрация: 07.08.2013 Сообщений: 3,541 |
|
13.04.2017, 10:19 |
16 |
вот файлик с кодом
1 |
2784 / 716 / 106 Регистрация: 04.02.2011 Сообщений: 1,443 |
|
13.04.2017, 13:26 |
17 |
Snipe, интересный подход, непривычный для таких задач. Как гарантировать наличие нужного провайдера конкретной версии — это связка с версией офиса?
0 |
4038 / 1423 / 394 Регистрация: 07.08.2013 Сообщений: 3,541 |
|
14.04.2017, 02:59 |
18 |
mc-black, Добавлено через 7 минут
1 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
14.04.2017, 02:59 |
18 |
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Office для бизнеса Excel 2010 Excel 2007 Еще…Меньше
Чтобы сравнить данные в двух столбцах Microsoft Excel и найти повторяющиеся записи, воспользуйтесь следующими способами.
Способ 1. Использование формулы на этом этапе
-
Начните Excel.
-
На новом примере введите следующие данные (оставьте столбец B пустым):
A
B
C
1
1
3
2
2
5
3
3
8
4
4
2
5
5
0
-
Введите в ячейку B1 следующую
формулу:=IF(ISERROR(MATCH(A1,$C$1:$C$5,0)),»»,A1)
-
Выберем ячейку С1 по B5.
-
В Excel 2007 и более поздних версиях Excel выберите Заполнить в группе Редактирование, а затем выберите Вниз.
Повторяющиеся числа отображаются в столбце B, как в следующем примере:
A
B
C
1
1
3
2
2
2
5
3
3
3
8
4
4
2
5
5
5
0
Способ 2. Использование макроса Visual Basic макроса
Предупреждение: Корпорация Майкрософт предоставляет примеры программирования только для иллюстрации без гарантии, выраженной или подразумеваемой. Это относится и не только к подразумеваемой гарантии пригодности и пригодности для определенной цели. В этой статье предполагается, что вы знакомы с языком программирования, который демонстрируется, и средствами, используемыми для создания и от debug procedures. Инженеры службы поддержки Майкрософт могут объяснить функциональные возможности конкретной процедуры. Однако они не будут изменять эти примеры, чтобы обеспечить дополнительные функциональные возможности или процедуры по построению в необходимом порядке.
Чтобы использовать макрос Visual Basic для сравнения данных в двух столбцах, с помощью следующих действий:
-
Запустите Excel.
-
Нажмите ALT+F11, чтобы запустить Visual Basic редактора.
-
В меню Вставка выберите Модуль.
-
Введите следующий код на листе модуля:
Sub Find_Matches() Dim CompareRange As Variant, x As Variant, y As Variant ' Set CompareRange equal to the range to which you will ' compare the selection. Set CompareRange = Range("C1:C5") ' NOTE: If the compare range is located on another workbook ' or worksheet, use the following syntax. ' Set CompareRange = Workbooks("Book2"). _ ' Worksheets("Sheet2").Range("C1:C5") ' ' Loop through each cell in the selection and compare it to ' each cell in CompareRange. For Each x In Selection For Each y In CompareRange If x = y Then x.Offset(0, 1) = x Next y Next x End Sub
-
Нажмите ALT+F11, чтобы вернуться к Excel.
-
Введите в качестве примера следующие данные (оставьте столбец B пустым):
A
B
C
1
1
3
2
2
5
3
3
8
4
4
2
5
5
0
-
-
Выберем ячейку от A1 до A5.
-
В Excel 2007 и более поздних версиях Excel выберите вкладку Разработчик, а затем в группе Код выберите макрос.
Примечание: Если вкладка Разработчик не отключается, возможно, ее нужно включить. Для этого выберите Файл > параметры > настроитьленту , а затем выберите вкладку Разработчик в поле настройки справа.
-
Щелкните Find_Matches, а затем нажмите кнопку Выполнить.
Повторяющиеся числа отображаются в столбце B. Совпадающие числа будут поместиться рядом с первым столбцом, как показано ниже.
A
B
C
1
1
3
2
2
2
5
3
3
3
8
4
4
2
5
5
5
0
Нужна дополнительная помощь?
Comparing columns of data manually is not a realistic approach when working with large data sets. Let us show you how to compare two columns in Excel using VBA and automate this process.
How to Compare two Columns in Excel
VBA has a built in function called StrComp, which can compare two separate strings. This function returns an integer based on the result of the comparison. Zero ‘0′ means a perfect match, and the sample code we give below highlights the cell if the result is NOT equal to 0.
StrComp function gets 3 arguments. First 2 arguments are the strings to be compared, and the last one is the comparison type. Note that the third argument is optional. If not omitted, the Option Compare setting will determine the type of comparison. Below are available options:
- vbUseCompareOption: Performs a comparison using the setting of the Option Compare statement.
- vbBinaryCompare: Performs a binary comparison. Case sensitive.
- vbTextCompare: Performs a textual comparison. Not case sensitive.
- vbDatabaseCompare: Performs a comparison based on information in your database. Microsoft Access only.
The code requires the user to select columns in a single range. Selected range is assigned to a range variable bothcolumns, and each cell in that range is compared row by row. With statement allows us to not use bothcolumns every time, and the For…Next loop is how we can check for every cell.
Highlighting
After you get the range, you can use the ColorIndex property to set that range a color. Below are some index numbers for colors:
- 3: Red
- 5: Blue
- 6: Yellow
- 0: No Fill
First, you need to add the module into the workbook or the add-in file to be able to use the code. Copy and paste the code into the module to run it. The main advantage of the module method is that it allows saving the code in the file, so that it can be used again later. Furthermore, the subroutines in modules can be used by icons in the menu ribbons or keyboard shortcuts. Remember to save your file in either XLSM or XLAM format to save your VBA code.
Highlight differences
Sub HighlightColumnDifferences() Dim bothcolumns As Range, i As Integer Set bothcolumns = Selection With bothcolumns For i = 1 To .Rows.Count If Not StrComp(.Cells(i, 1), .Cells(i, 2), vbBinaryCompare) = 0 Then Range(.Cells(i, 1), .Cells(i, 2)).Interior.ColorIndex = 6 End If Next i End With End Sub
I Need to compare Column B
in Sheet 2
with Column C
in Sheet 3
and highlight the cells with matching data in Column B (Sheet 2)
.
Have used the following formula in Conditional Formatting
which works =NOT(ISNA(VLOOKUP(Sheet3!C,Sheet2!B,1,FALSE)))
with Format type being a
particular color say Yellow Interior.colorindex = 6
How to implement the same using code in VBA?
asked Aug 27, 2013 at 11:56
you can do it like this
Sub CompareAndHighlight()
Dim rng1 As Range, rng2 As Range, i As Long, j As Long
For i = 1 To Sheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Row
Set rng1 = Sheets("Sheet2").Range("B" & i)
For j = 1 To Sheets("Sheet3").Range("C" & Rows.Count).End(xlUp).Row
Set rng2 = Sheets("Sheet3").Range("C" & j)
If StrComp(Trim(rng1.Text), Trim(rng2.Text), vbTextCompare) = 0 Then
rng1.Interior.Color = RGB(255, 255, 0)
End If
Set rng2 = Nothing
Next j
Set rng1 = Nothing
Next i
End Sub
the code checks all cells in Sheet2 column B against each cell from Sheet3 column C and if they match it highlights cells on Sheet2 in Column B in yellow
answered Aug 27, 2013 at 12:07
2
I would do it this way:
Dim c As Range
For Each c In Range("sheet2!b:b")
If c.Value <> "" And Sheets("Sheet3").Cells(c.Row, 3).Value = c.Value Then
c.Interior.Color = vbYellow
End If
Next
answered Aug 27, 2013 at 12:12
JoeJoe
6,7571 gold badge15 silver badges28 bronze badges
Содержание
- Vba excel сравнение двух столбцов
- Сравнение данных в двух столбцах для поиска дубликатов в Excel
- Способ 1. Использование формулы на этом этапе
- Способ 2. Использование макроса Visual Basic макроса
- Exceltip
- Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
- Как сравнить два столбца в Excel — методы сравнения данных Excel
- Использование условного оператора ЕСЛИ
- Использование формулы подстановки ВПР
- Использование макроса VBA
- Использование надстройки Inquire
- Вам также могут быть интересны следующие статьи
- 53 комментария
- Vba excel сравнение двух столбцов
- Как сравнить два столбца и выделить несогласованные данные в Excel?
Vba excel сравнение двух столбцов
Сам в программировании не силен, поэтому прошу помощи со следующей задачей:
1. Нужно сравнить два столбца данных с различным количеством строк и вывести одинаковые значения второго столбца напротив первого столбца. При этом необходимо чтобы строки в первом столбце не менялись местами.
2. Возможно ли привязать ко 2-му столбцу еще несколько столбцов с данными (например цена, количество), чтобы их строки вместе со строками 2-го столбца выстраивались напротив одинаковых значений. Например:
Есть макрос, который сравнивает содержимое 2-х соседних столбцов на одинаковые значения и выводит на отдельном листе результат, сортируя одинаковые значения напротив друг друга и выделяя их цветом. Но при этом порядок значений в 1 столбце меняется.
Вот сам макрос:
_
Sub Main()
Dim i As Long, j As Long, a(), b(), x As Range, y As Range
Application.ScreenUpdating = False: Sheets(2).Activate: Cells.Delete
Sheets(1).Columns(1).Copy [A1]: Sheets(1).Columns(2).Copy [B1]: Columns(1).Copy [C1]
Range([B1], Cells(Rows.Count, 2).End(xlUp)).Copy Cells(Rows.Count, 3).End(xlUp).Offset(1)
[C:C].Sort Key1:=[C1], Order1:=xlAscending, Header:=xlGuess
a = Range([C1], Cells(Rows.Count, 3).End(xlUp)).Value: ReDim b(1 To UBound(a, 1), 1 To 2): i = 1: j = 1
Do
Set x = Columns(«A»).Find(a(i, 1))
If Not x Is Nothing Then
b(j, 1) = a(i, 1): x.Value = «»
End If
Set y = Columns(«B»).Find(a(i, 1))
If Not y Is Nothing Then
b(j, 2) = a(i, 1): y.Value = «»
End If
If Not x Is Nothing And Not y Is Nothing Then i = i + 2 Else i = i + 1
j = j + 1
Loop While i ——— примечание модератора — вдруг кому пригодится —————
Надстройка LOOKUP предназначена для сравнения и подстановки значений в таблицах Excel.
Если вам надо сравнить 2 таблицы (по одному столбцу, или по нескольким),
и для совпадающих строк скопировать значения выбранных столбцов из одной таблицы в другую,
надстройка «Lookup» поможет сделать это нажатием одной кнопки.
В настройках программы можно задать:
- где искать сравниваемые файлы (использовать уже открытый файл, загружать файл по заданному пути, или же выводить диалоговое окно выбора файла)
- с каких листов брать данные (варианты: активный лист, лист с заданным номером или названием)
- какие столбцы сравнивать (можно задать несколько столбцов)
- значения каких столбцов надо копировать в найденные строки (также можно указать несколько столбцов)
Скачать надстройку для сравнения таблиц Excel и копирования данных из одинаковых строк
Источник
Сравнение данных в двух столбцах для поиска дубликатов в Excel
Чтобы сравнить данные в двух столбцах Microsoft Excel и найти повторяющиеся записи, воспользуйтесь следующими способами.
Способ 1. Использование формулы на этом этапе
На новом примере введите следующие данные (оставьте столбец B пустым):
Введите в ячейку B1 следующую
Выберем ячейку С1 по B5.
В Excel 2007 и более поздних версиях Excel выберите Заполнить в группе Редактирование, а затем выберите Вниз.
Повторяющиеся числа отображаются в столбце B, как в следующем примере:
Способ 2. Использование макроса Visual Basic макроса
Предупреждение: Корпорация Майкрософт предоставляет примеры программирования только для иллюстрации без гарантии, выраженной или подразумеваемой. Это относится и не только к подразумеваемой гарантии пригодности и пригодности для определенной цели. В этой статье предполагается, что вы знакомы с языком программирования, который демонстрируется, и средствами, используемыми для создания и от debug procedures. Инженеры службы поддержки Майкрософт могут объяснить функциональные возможности конкретной процедуры. Однако они не будут изменять эти примеры, чтобы обеспечить дополнительные функциональные возможности или процедуры по построению в необходимом порядке.
Чтобы использовать макрос Visual Basic для сравнения данных в двух столбцах, с помощью следующих действий:
Нажмите ALT+F11, чтобы запустить Visual Basic редактора.
В меню Вставка выберите Модуль.
Введите следующий код на листе модуля:
Нажмите ALT+F11, чтобы вернуться к Excel.
Введите в качестве примера следующие данные (оставьте столбец B пустым):
Источник
Exceltip
Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
Как сравнить два столбца в Excel — методы сравнения данных Excel
Умение сравнивать два массива данных в Excel часто пригождается для людей, обрабатывающих большие объемы данных и работающих с огромными таблицами. Например, сравнение может быть использовано в выявлении повторяющихся значений, корректности занесения данных или внесение данных в таблицу в срок. В статье ниже описаны несколько приемов сравнения двух столбцов с данными в Excel.
Использование условного оператора ЕСЛИ
Метод использования условного оператора ЕСЛИ отличается тем, что для сравнения двух столбцов используется только необходимая для сравнения часть, а не весь массив целиком. Ниже описаны шаги по реализации данного метода:
Разместите оба столбца для сравнения в колонках A и B рабочего листа.
В ячейке С2 введите следующую формулу =ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(A2;$B$2:$B$11;0));»»;A2) и протяните ее до ячейки С11. Данная формула последовательно просматривает наличие каждого элемента из столбца A в столбце B и возвращает значение элемента, если оно было найдено в столбце B.
Использование формулы подстановки ВПР
Принцип работы формулы аналогичен предыдущей методике, отличие заключается в использовании формулы ВПР, вместо ПОИСКПОЗ. Отличительной особенностью данного метода также является возможность сравнения двух горизонтальных массивов, используя формулу ГПР.
Чтобы сравнить два столбца с данными, находящимися в столбцах A и B(аналогично предыдущему способу), введите следующую формулу =ВПР(A2;$B$2:$B$11;1;0) в ячейку С2 и протяните ее до ячейки С11.
Данная формула просматривает каждый элемент из основного массива в сравниваемом массиве и возвращает его значение, если оно было найдено в столбце B. В противном случае Excelвернет ошибку #Н/Д.
Использование макроса VBA
Использование макросов для сравнения двух столбцов позволяет унифицировать процесс и сократить время на подготовку данных. Решение о том, какой результат сравнения необходимо отобразить, полностью зависит от вашей фантазии и навыков владения макросами. Ниже представлена методика, опубликованная на официальном сайте Микрософт.
Создайте новый модуль кода VBA и введите следующий код. О том, как писать макросы вы можете прочитать более подробно в статье написания VBA кода.
В данном коде переменной CompareRange присваивается диапазон со сравниваемым массивом. Затем запускается цикл, который просматривает каждый элемент в выделенном диапазоне и сравнивает его с каждым элементом сравниваемого диапазона. Если были найдены элементы с одинаковыми значениями, макрос заносит значение элемента в столбец С.
Чтобы использовать макрос, вернитесь на рабочий лист, выделите основной диапазон (в нашем случае, это ячейки A1:A11), нажмите сочетание клавиш Alt+F8. В появившемся диалоговом окне выберите макрос Find_Matches и щелкните кнопку выполнить.
После выполнения макроса, результат должен быть следующим:
Использование надстройки Inquire
С запуском версии 2013, Excel обзавелась интересной надстройкой под названием Inquire, которая позволяет сравнивать и анализировать два файла Excel. Если вам необходимо сравнить две версии одного и того же файла, например, после создания книги, ваши коллеги внесли кое-какие изменения, и вам нужно определить что именно они изменили, воспользуйтесь инструментом WorkbookCompare надстройки Inquire. Подробнее о том, как устанавливать, запускать и использовать надстройку читайте в моей предыдущей статье про надстройку Inquire.
Итак, мы рассмотрели несколько способов сравнения данных в Excel, которые помогут вам решить некоторые аналитические задачи и упростят работу в поиске повтояющихся (или уникальных) значений.
Вам также могут быть интересны следующие статьи
53 комментария
Спасибо, у вас очень понятно и красиво оформлено, глаз радует
для меня трудность- понять работу ПОИСКОЗ. Если не трудно сделайте пост с пояснениями по данной формуле.
Добрый день, Сергей. Про формулы подстановки можете прочитать в одной из моих предыдущих статей.
Молодца. Читаю Ваши статьи, наглядно и доходчиво, Спасибо.
Огромное спасибо!
Благодаря приведенной Вами формуле =ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(A2;$B$2:$B$11;0));»»;A2) я смогла сравнить два списка (9 и 2 тысячи позиций в каждом).
Но выплыла другая проблема. В списках есть одинаковые данные, отличающиеся только значком *. После выполнения формулы были отмечены, как совпадающие, и данные с * и без *. Что нужно поменять в формуле, чтобы она возвращала только точные совпадения?
Спасибо.
Пришлите пример, пожалуйста, не совсем понял ситуацию. Видимо сравнение идет по формулам, а с ними уже посложнее будет
Добрый день, Ренат!
Пробовала с помощью вашей формулы сравнить два столбца с датами, затем с договорами. К сожалению, не получается. Ячейки получаются пустыми, хотя большинство значений совпадают (но excel их тотально не видит). Подскажите, в чем может быть ошибка?
Пришлите, пожалуйста, файл с примером, посмотрим
Доброго времени суток!
Спасибо за полезную статью!
Сравнение прошло успешно, но при попытке сохранить результат сравнения «Export Result» выходит ошибка «Unable to save the export file. Error: Exception from HRESULT: 0x800AC472» и ничего не сохраняется. Не знаете в чём может быть дело? Office 2013 Home and Bussiness Windows 8.1 Pro
Забыл добавить! Для сравнения использовал Inquire.
Добрый день, Антон. Честно говоря, не сталкивался с подобной проблемой, поэтому чем-то конкретным помочь не могу. Но официальном сайте данная ошибка описана, если это вам поможет, скидываю ссылку на страницу
Ренат, спасибо большое за статью! Очень пригодилась в сравнении формула! 🙂
День добрый, Ренат
статья хорошая, доступно)))
Огромная просьба, рассмотрите мою проблему.
Чаще требуется не просто 2 столбца данных сравнить, а сравнить два прайса. Индентификатором будет код или артикул — а при совпадении значений надо сопоставить цены. НАпример А-артикулы основного массива, В-Цены основного массива, Д-Артикулы сравниваемого массива и Е-цены сравниваемого массива. При совпадении артикула в А и Д в столбик С копировать цену из соответствующего Е.
Обычно по фирмам прайсы составлены по разному, артикулы разбросаны и чтоб сравнить цены полдня (в лучшем случае) убиваешь на рутину((((
Источник
Vba excel сравнение двух столбцов
Как сравнить два столбца и выделить несогласованные данные в Excel?
Как показано на скриншоте ниже, для сравнения двух столбцов соседних ячеек и выделения несогласованных данных вы можете попробовать методы, описанные в статье.
The Compare Ranges utility of Kutools for Excel can help you solve the problem. See below screenshot:
- Select the the two columns you will compare for unmatched data highlighting.
- Select Different Value option.
- Specify a background color for highlighting.
Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Download the free trial now
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
Как показано на скриншоте выше, вы сравниваете данные в столбце A и столбце B. Запустите следующий код VBA, чтобы выделить несопоставленные данные.
1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте следующий код в окно кода.
Код VBA: сравните два столбца и выделите несогласованные данные
3. нажмите F5 ключ для запуска кода. В всплывающем Kutools for Excel в диалоговом окне выберите первый столбец, который необходимо сравнить, затем щелкните значок OK кнопка. Смотрите скриншот.
4. Затем выберите второй сравниваемый столбец в следующем всплывающем окне. Kutools for Excel диалоговое окно.
5. В диалоговом окне, как показано на скриншоте ниже, для выделения несогласованных данных щелкните значок Нет кнопку.
Затем все несогласованные данные между двумя столбцами немедленно выделяются. Смотрите скриншот:
Если вы просто хотите узнать и выделить, существуют ли значения ячеек в столбце в другом столбце или нет, например, как показано на скриншоте ниже, номер 2 в столбце A не существует в столбце B, вы можете попробовать Сравнить диапазоны полезности Kutools for Excel.
1. Нажмите Кутулс > Вставить > Выберите одинаковые и разные ячейки. Смотрите скриншот:
2. в Выберите одинаковые и разные ячейки диалоговое окно необходимо настроить следующим образом:
3. Затем появится диалоговое окно, чтобы сообщить вам, сколько ячеек только в столбце A, но не в столбце B, нажмите кнопку ОК, и все совпавшие ячейки будут выбраны в столбце A.
Если вы хотите получить бесплатную пробную версию ( 30 -день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Источник
Как показано на скриншоте ниже, для сравнения двух столбцов соседних ячеек и выделения несогласованных данных вы можете попробовать методы, описанные в статье.
Сравните два столбца и выделите несогласованные данные с помощью кода VBA
Сравните два столбца и выделите несопоставленные данные с помощью Kutools for Excel
Сравните два столбца и выделите несогласованные данные с помощью кода VBA
Как показано на скриншоте выше, вы сравниваете данные в столбце A и столбце B. Запустите следующий код VBA, чтобы выделить несопоставленные данные.
1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте следующий код в окно кода.
Код VBA: сравните два столбца и выделите несогласованные данные
Sub Dyeware()
Dim xRg1 As Range
Dim xRg2 As Range
Dim xTxt As String
Dim xCell1 As Range
Dim xCell2 As Range
Dim I As Long
Dim J As Integer
Dim xLen As Integer
Dim xDiffs As Boolean
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
lOne:
Set xRg1 = Application.InputBox("Range A:", "Kutools for Excel", xTxt, , , , , 8)
If xRg1 Is Nothing Then Exit Sub
If xRg1.Columns.Count > 1 Or xRg1.Areas.Count > 1 Then
MsgBox " Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lOne
End If
lTwo:
Set xRg2 = Application.InputBox("Range B:", "Kutools for Excel", "", , , , , 8)
If xRg2 Is Nothing Then Exit Sub
If xRg2.Columns.Count > 1 Or xRg2.Areas.Count > 1 Then
MsgBox "Multiple ranges or columns have been selected", vbInformation, "Kutools for Excel"
GoTo lTwo
End If
If xRg1.CountLarge <> xRg2.CountLarge Then
MsgBox "Two ranges must have the same numbers of cells ", vbInformation, "Kutools for Excel"
GoTo lTwo
End If
xDiffs = (MsgBox("Click Yes to highlight matched data, click No to highlight unmatched data ", vbYesNo + vbQuestion, "Kutools for Excel") = vbNo)
Application.ScreenUpdating = False
xRg2.Interior.ColorIndex = xlNo
xRg1.Interior.ColorIndex = xlNo
For I = 1 To xRg1.Count
Set xCell1 = xRg1.Cells(I)
Set xCell2 = xRg2.Cells(I)
If xCell1.Value = xCell2.Value Then
If Not xDiffs Then
xCell1.Interior.Color = vbRed
xCell2.Interior.Color = vbRed
End If
Else
If xDiffs Then
xCell1.Interior.Color = vbRed
xCell2.Interior.Color = vbRed
End If
End If
Next
Application.ScreenUpdating = True
End Sub
3. нажмите F5 ключ для запуска кода. В всплывающем Kutools for Excel в диалоговом окне выберите первый столбец, который необходимо сравнить, затем щелкните значок OK кнопка. Смотрите скриншот.
4. Затем выберите второй сравниваемый столбец в следующем всплывающем окне. Kutools for Excel диалоговое окно.
5. В диалоговом окне, как показано на скриншоте ниже, для выделения несогласованных данных щелкните значок Нет кнопку.
Затем все несогласованные данные между двумя столбцами немедленно выделяются. Смотрите скриншот:
Сравните два столбца и выделите несопоставленные данные с помощью Kutools for Excel
Если вы просто хотите узнать и выделить, существуют ли значения ячеек в столбце в другом столбце или нет, например, как показано на скриншоте ниже, номер 2 в столбце A не существует в столбце B, вы можете попробовать Сравнить диапазоны полезности Kutools for Excel.
1. Нажмите Кутулс > Вставить > Выберите одинаковые и разные ячейки. Смотрите скриншот:
2. в Выберите одинаковые и разные ячейки диалоговое окно необходимо настроить следующим образом:
2.1 Выберите первый столбец с несовпадающими ячейками, которые вы выделите в Найдите значения в коробке;
2.2 Выберите второй столбец, который вы хотите сравнить, на основе Согласно информации коробка;
2.3 В на основании setcion, выберите Однокамерная вариант;
2.3 Выберите Разные ценности вариант в Найти раздел;
2.4 В Обработка результатов раздел, проверьте Заполните цвет фона поле и укажите цвет фона из раскрывающегося списка;
2.5 Щелкните значок OK кнопка. Смотрите скриншот:
3. Затем появится диалоговое окно, чтобы сообщить вам, сколько ячеек только в столбце A, но не в столбце B, нажмите кнопку ОК, и все совпавшие ячейки будут выбраны в столбце A.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Статьи по теме:
- Как сравнить две строки на сходство или выделить различия в Excel?
- Как точно сравнить две строки (с учетом регистра) в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
OlegK Пользователь Сообщений: 5 |
Доброго времени суток, уважаемые специалисты! |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
Вроде у Игоря есть готовый шаблон)) |
Hugo Пользователь Сообщений: 23251 |
Да, есть. Но под такую задачу можно что-то попроще написать. |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Вы о CompareFiles.Find? Чет у меня и мысли на этот счет не мелькнуло Я сам — дурнее всякого примера! … |
Hugo Пользователь Сообщений: 23251 |
У меня тоже не мелькнуло… Но Юрий навёл |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
Старый стал — меняй мелькалку )) |
Hugo Пользователь Сообщений: 23251 |
#8 15.09.2013 20:30:06 Вот попроще. И бесплатно
|
||
slesarok Пользователь Сообщений: 65 |
#9 29.06.2020 12:26:49 А как вставлять в конец столбца значения, которые не были найдены? |
Сравнение двух столбцов макрос |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |