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
- 1. Сравните два столбца построчно.
- 1.1 Сравните ячейки в одной строке на предмет точного совпадения
- 1.2. Сравнить ячейки в одной строке для точного совпадения или совпадения без учета регистра
- 1.3 Сравните ячейки в одной строке и выделите совпадающие или несоответствующие данные
- 1.4 Сравнение двух столбцов строка за строкой и выделение значений несоответствия (VBA)
- 2. Сравните два столбца в ячейках
- 2.1. Сравнить ячейки с двумя столбцами по ячейкам и отобразить результаты сравнения в другом столбце
- 2.2 Сравните и выделите повторяющиеся или уникальные данные
- 2.3 Сравните и выберите или выделите повторяющиеся или уникальные данные
- 2.4 Сравните два столбца и укажите точные дубликаты в другом столбце (VBA)
- 2.5 Сравните два столбца и выделите дубликаты (VBA)
- 3. Сравнить несколько столбцов в одной строке
- 3.1. Найдите полные совпадения во всех ячейках одной строки
- 3.2 Найдите совпадение в любых двух ячейках одной строки
- 3.3 Найдите полные совпадения во всех ячейках в одной строке и выделите
- 3.4. Сравните несколько столбцов и выделите различия строк
- 4. Сравните два столбца и найдите недостающие точки данных.
- 4.1 Сравните и найдите недостающие точки данных
- 4.2 Сравните два столбца и перечислите недостающие данные ниже
- 4.3 Сравните и найдите недостающие точки данных и перечислите их в другом столбце
- 4.4 Сравните два столбца и перечислите недостающие данные ниже (VBA)
- 5. Сравните два столбца (даты), если больше или меньше
- 5.1 Сравните два столбца, если больше или меньше
- 5.2 Сравните два столбца, если больше или меньше, чем формат
- 6. Сравните два столбца и верните значение в другом столбце
- 6.1 Получение точных совпадающих данных
- 6.2 Извлечение данных частичного совпадения
- 7. Сравните два столбца и подсчитайте совпадения или различия
- 7.1 Сравните два столбца и подсчитайте совпадения
- 7.2 Сравните два столбца и подсчитайте совпадения или различия
- 8. Сравните два столбца с подстановочным знаком
- 9. Удалите различия или совпадения.
- 10. Сравните два столбца и рассчитайте процентное изменение между
- 11. Сравните два диапазона
- 11.1 Сравнить два диапазона по ячейке
- 11.2 Сравните два диапазона, если данные в одном порядке
В этом руководстве рассказывается, как сравнить два столбца в Excel, что является обычной работой Excel в нашей повседневной работе. Сравнение двух столбцов может выполняться в Excel по-разному, например, сравнение двух столбцов по строкам или ячеек по ячейкам, сравнение двух столбцов для выделения совпадений или различий и т. Д. В этой статье рассматриваются наиболее возможные сценарии сравнения двух столбцов, которые вы могли бы встретимся и надеюсь, что это поможет вам.
Это учебное пособие охватывает |
1. Сравните два столбца построчно. 1.1 Сравните ячейки в одной строке на предмет точного совпадения 1.2 Сравнить ячейки в одной строке на предмет точного совпадения или совпадения без учета регистра (с использованием формулы ЕСЛИ) 1.3 Сравните ячейки в одной строке и выделите совпадающие или несоответствующие данные (используя условное форматирование) 1.4 Сравните два столбца строка за строкой и выделите значения несоответствия (используя VBA) |
2.Сравните два столбца в ячейках и выберите или выделите повторяющиеся или уникальные данные 2.1. Сравнить ячейки с двумя столбцами по ячейкам и отобразить результат сравнения в другом столбце (используя формулу) 2.2 Сравнение и выделение повторяющихся или уникальных данных (с использованием условного форматирования) 2.3 Сравните и выберите или выделите повторяющиеся или уникальные данные (с помощью удобного инструмента) 2.4 Сравните два столбца и укажите точные дубликаты в другом столбце (используя код VBA) 2.5 Сравните два столбца и выделите дубликаты (используя код VBA) |
3.Сравните несколько столбцов в одной строке 3.1. Найдите полные совпадения во всех ячейках одной строки (используя формулу ЕСЛИ) 3.2 Найдите совпадения в любых двух ячейках в одной строке (используя формулу ЕСЛИ) 3.3 Найдите полные совпадения во всех ячейках одной строки и выделите их (используя условное форматирование) 3.4. Сравните несколько столбцов и выделите различия строк |
4. Сравните два столбца и найдите недостающие точки данных. 4.1 Сравните и найдите недостающие точки данных (с помощью формулы ВПР или ПОИСКПОЗ) 4.2 Сравните два столбца и перечислите недостающие данные ниже (используя формулу ИНДЕКС) 4.3 Сравните и найдите недостающие точки данных и перечислите их в другом столбце (используя удобный инструмент) 4.4 Сравните два столбца и перечислите недостающие данные ниже (используя VBA) |
5. Сравните два столбца (даты), если больше или меньше 5.1 Сравните два столбца, если они больше или меньше (по формуле) 5.2 Сравните два столбца, если они больше или меньше, чем формат (с использованием условного форматирования) |
6. Сравните два столбца и верните значение в другом столбце 6.1 Получите точные совпадающие данные (используя формулу или удобный инструмент) 6.2 Получение данных частичного совпадения (используя формулу) |
7. Сравните два столбца и подсчитайте совпадения или различия. 7.1 Сравните два столбца и подсчитайте совпадения (используя формулу СУММПРОИЗВ) 7.2 Сравните два столбца и подсчитайте совпадения или различия (с помощью удобного инструмента) |
8. Сравните два столбца с подстановочным знаком. |
9. Удалите различия или совпадения. |
10. Сравните два столбца и рассчитайте процентное изменение между |
11. Сравните два диапазона 11.1 Сравнить два диапазона по ячейке 11.2 Сравните два диапазона, если данные в одном порядке |
Внимание
В этом руководстве приведены некоторые примеры данных для лучшего объяснения методов сравнения двух столбцов в различных случаях. В зависимости от вашего набора данных вам может потребоваться изменить или скорректировать некоторое содержание (ссылки), однако основные принципы останутся прежними. Или загрузите образцы каждого случая напрямую, если вы хотите только проверить, работают ли методы или нет.
1. Сравните два столбца построчно.
Ниже приведен набор данных, в котором мне нужно проверить в той же строке, совпадают ли имена в столбце A с именами в столбце B или нет.
Нажмите, чтобы загрузить образец файла
1.1 Сравните ячейки в одной строке на предмет точного совпадения
Как правило, если вы хотите сравнить два столбца строка за строкой для точного совпадения, вы можете использовать следующую формулу:
= B2 = C2
Нажмите Enter и перетащите маркер заполнения в ячейку D8. Если формула возвращает ИСТИНА, значения двух столбцов полностью совпадают, если возвращается ЛОЖЬ, они разные.
1.2 Сравнить ячейки в одной строке на предмет точного совпадения или совпадения без учета регистра (с использованием формулы ЕСЛИ)
Если вы хотите сравнить два столбца строка за строкой для нечувствительности к регистру или получить более подробное описание, такое как Match, Mismatch, вы можете использовать функцию IF.
Сравнение ячеек в одной строке на предмет точного совпадения
Если вы хотите использовать тексты «Совпадение» и «Несоответствие» для описания результатов сравнения, воспользуйтесь приведенной ниже формулой:
=IF(EXACT(B2,C2),»Match»,»Mismatch»)
Нажмите Enter , чтобы получить первый результат, затем перетащите дескриптор автозаполнения в ячейку D8.
Сравнение ячеек в одной строке на предмет соответствия без учета регистра
Если вы хотите сравнить ячейки без учета регистра, вы можете использовать следующую формулу:
=IF(B2=C2,»Match»,»Mismatch»)
Нажмите Enter , чтобы получить первый результат, затем перетащите дескриптор автозаполнения в ячейку E8.
замечание
В приведенных выше формулах вы можете изменить тексты «Совпадение» и «Несоответствие» на свое собственное описание.
1.3 Сравните ячейки в одной строке и выделите совпадающие или несоответствующие данные (используя условное форматирование)
Если вы хотите выделить совпадающие или разные значения, Условное форматирование функция может вам помочь.
1. Выберите два столбца, которые используются для сравнения (B2: C8, за исключением заголовков столбцов), затем щелкните Главная > Условное форматирование > Новое правило.
2. Во всплывающем Новое правило форматирования диалоговое окно, щелкните, чтобы выбрать Используйте формулу, чтобы определить, какие ячейки следует форматировать. в Выберите тип правила раздел, затем введите = $ B2 = $ C2 в текстовое поле Формат значений, где эта формула истинна.
3. Теперь щелкните Формат для отображения Формат ячеек диалог, затем под Заполнять на вкладке выберите один цвет, который вам нужен, чтобы выделить совпадения.
Или вы можете изменить размер шрифта, размер шрифта, границы ячеек или числовой формат, чтобы добиться совпадений, как вам нужно на других вкладках.
4. Нажмите OK > OK чтобы закрыть диалоговые окна, ячейки в одной строке будут выделены, если они совпадают.
Если вы хотите выделить значения несоответствия, вы можете использовать это в = $ B2 <> $ C2 в Формат значений, где эта формула истинна текстовое поле в Изменить правило форматирования Диалог.
Тогда различия двух столбцов в одной строке будут выделены заданным цветом.
1.4 Сравните два столбца строка за строкой и выделите значения несоответствия (используя VBA)
Если вы хотите сравнить два столбца строка за строкой с кодом VBA, это руководство вас удовлетворит.
1. Включите рабочий лист, содержащий два столбца, используемые для сравнения, нажмите Alt + F11 ключи для включения Microsoft Visual Basic для приложений окно.
2. В появившемся диалоговом окне щелкните Вставить > Модули.
3. Затем скопируйте и вставьте указанный ниже макрос в новый скрипт модуля.
VBA: сравнение двух столбцов строка за строкой и выделение различий
Sub ExtendOffice_HighlightColumnDifferences()
'UpdatebyKutools20201016
Dim xRg As Range
Dim xWs As Worksheet
Dim xFI As Integer
On Error Resume Next
SRg:
Set xRg = Application.InputBox("Select two columns:", "Kutools for Excel", , , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count <> 2 Then
MsgBox "Please select two columns"
GoTo SRg
End If
Set xWs = xRg.Worksheet
For xFI = 1 To xRg.Rows.Count
If Not StrComp(xRg.Cells(xFI, 1), xRg.Cells(xFI, 2), vbBinaryCompare) = 0 Then
xWs.Range(xRg.Cells(xFI, 1), xRg.Cells(xFI, 2)).Interior.ColorIndex = 7 'you can change the color index as you need.
End If
Next xFI
End Sub
4. нажмите F5 нажмите клавишу для запуска кода, затем появится диалоговое окно для выбора двух столбцов.
5. Нажмите OK. Затем различия двух столбцов были выделены цветом фона.
замечание
Вы можете изменить цвет выделения по своему усмотрению, изменив индекс цвета в коде, справочник по индексу цвета:
2. Сравните два столбца в ячейках и выберите или выделите повторяющиеся или уникальные данные
В этой части набор данных показан ниже, и вы хотите найти все значения, которые находятся одновременно в столбце B и столбце C, или найти значения только в столбце B.
Нажмите, чтобы загрузить образец файла
2.1. Сравнить ячейки с двумя столбцами по ячейкам и отобразить результаты сравнения в другом столбце (используя формулу)
Здесь вы можете использовать формулу в сочетании с функцией ЕСЛИ и СЧЁТЕСЛИ, чтобы сравнить два столбца и найти значения, которые находятся в столбце B, но не в столбце C.
=IF(COUNTIF($C$2:$C$8, $B2)=0, «No in C», «Yes in C»)
Нажмите Enter и перетащите маркер автозаполнения в ячейку D8.
замечание
1. Эта формула сравнивает два столбца без учета регистра.
2. Вы можете изменить описание «Нет в C» и «Да в C» на другие.
3. Если вы хотите сравнить два целых столбца, измените фиксированный диапазон $ C $ 2: $ C $ 8 на $ C: $ C.
2.2 Сравнение и выделение повторяющихся или уникальных данных (с использованием условного форматирования)
Наблюдения и советы этой статьи мы подготовили на основании опыта команды Условное форматирование Функция Excel является мощной, здесь вы можете использовать ее для сравнения ячеек с двумя столбцами по ячейкам, а затем выделять различия или совпадения по мере необходимости.
Выделите все повторяющиеся или уникальные значения в двух столбцах
1. Выберите два столбца, с которыми вы будете сравнивать, затем щелкните Главная > Условное форматирование > Выделите правила ячеек > Дублирующие значения.
2. Во всплывающем Дублирующие значения выберите нужный формат выделения из раскрывающегося списка значений.
3. Нажмите OK. Затем были выделены дубликаты в двух столбцах.
замечание
Если вы хотите выделить уникальные значения (различия) в двух столбцах, также нажмите Главная > Условное форматирование > Выделите правила ячеек > Дублирующие значения для отображения Дублирующие значения диалог, измените Дублировать в Уникальное Произведение в левом раскрывающемся списке, затем выберите другой формат из значений в раскрывающемся списке, нажмите OK.
Уникальные значения будут выделены.
Найдите и выделите значения в столбце B, если они также находятся в столбце C.
Если вы хотите выделить значения в столбце B, которые также находятся в столбце C, Cтрадиционное форматирование функция также может оказать вам услугу.
1. Выберите столбец B2: B8, щелкните Главная > Условное форматирование > Новое правило.
2. в Новое правило форматирования диалога, выберите Используйте формулу, чтобы определить, какие ячейки следует форматировать. из Выберите тип правила раздел, затем введите = СЧЁТЕСЛИ ($ C $ 2: $ C $ 8, $ B2)> 0 в текстовое поле Формат значений, где эта формула истинна.
3. щелчок Формат , чтобы перейти к Формат ячеек диалога под Заполнять на вкладке выберите один цвет, чтобы выделить совпадения.
Вы можете использовать другие форматы для выделения значений на вкладках Шрифт, Число, Граница.
4. Нажмите OK > OK. Затем значения в столбце B, которые также существуют в столбце C, были выделены указанным цветом.
Если вы хотите выделить значения, которые только в столбце B, но не в столбце C, повторите указанные выше шаги, но измените формулу на шаге 2 на = СЧЁТЕСЛИ ($ C $ 2: $ C $ 8, $ B2) = 0 в Новое правило форматирования Диалог.
Затем выберите другой цвет для форматирования значений.
замечание
Здесь условное форматирование сравнивает два столбца без учета регистра.
2.3 Сравните и выберите или выделите повторяющиеся или уникальные данные (с помощью удобного инструмента)
Иногда после сравнения двух столбцов вы можете предпринять другие действия с совпадениями или различиями, такие как выбор, удаление, копирование и т. Д. В этом случае удобный инструмент — Выберите одинаковые и разные ячейки of Kutools for Excel может напрямую выбирать совпадения или разницу для лучшего выполнения следующей операции, а также может напрямую выделять значения.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Нажмите Кутулс > Выберите > Выберите одинаковые и разные ячейки.
2. Затем в Выберите одинаковые и разные ячейки диалоговое окно, выполните следующие действия:
1). Найдите значения в и Согласно информации разделы, выберите два столбца, с которыми хотите сравнить;
2) Выберите Каждый ряд вариант;
3) Выберите Те же значения or Разные ценности как вам нужно;
4) Если вы хотите выделить значения, выберите нужный вам цвет.
3. Нажмите Ok, появится диалоговое окно с напоминанием о количестве найденных значений, щелкните OK чтобы закрыть диалог. При этом значения были выбраны, теперь вы можете удалять или копировать или выполнять другие операции.
Если вы установите флажок Заполните цвет фона и Цвет заливки шрифта чекбоксы, результат будет следующим:
замечание
Если вы хотите сравнить с чувствительностью к регистру, отметьте Деликатный случай опцию.
Этот инструмент поддерживает сравнение двух столбцов на разных листах.
2.4 Сравните два столбца и укажите точные дубликаты в другом столбце (используя код VBA)
Если вы хотите перечислить совпадающие значения в другом столбце после сравнения двух столбцов ячейка за ячейкой, здесь вам может помочь приведенный ниже код макроса.
1. Включите лист, на котором вы хотите сравнить два столбца, затем нажмите Alt + F11 клавиши для отображения Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули в Microsoft Visual Basic для приложений окно.
3. Затем скопируйте и вставьте приведенный ниже код в новый пустой скрипт модуля.
VBA: список дубликатов в соседнем столбце после сравнения двух столбцов
Sub ExtendOffice_FindMatches()
'UpdatebyKutools20201019
Dim xRg, xRgC1, xRgC2, xRgF1, xRgF2 As Range
Dim xIntSR, xIntER, xIntSC, xIntEC As Integer
On Error Resume Next
SRg:
Set xRgC1 = Application.InputBox("Select first column:", "Kutools for Excel", , , , , , 8)
If xRgC1 Is Nothing Then Exit Sub
If xRgC1.Columns.Count <> 1 Then
MsgBox "Please select single column"
GoTo SRg
End If
SsRg:
Set xRgC2 = Application.InputBox("Select the second column:", "Kutools for Excel", , , , , , 8)
If xRgC2 Is Nothing Then Exit Sub
If xRgC2.Columns.Count <> 1 Then
MsgBox "Please select single column"
GoTo SsRg
End If
Set xWs = xRg.Worksheet
For Each xRgF1 In xRgC1
For Each xRgF2 In xRgC2
If xRgF1.Value = xRgF2.Value Then xRgF2.Offset(0, 1) = xRgF1.Value
Next xRgF2
Next xRgF1
End Sub
4. Нажмите F5 Чтобы запустить код, поочередно появляются два диалоговых окна, в которых вы можете выбрать два столбца отдельно.
Внимание: Сначала выберите левый столбец, затем выберите правый столбец во втором диалоговом окне, иначе дубликаты заменят исходные данные во втором столбце.
5. Нажмите OK > OK, то совпадения будут автоматически перечислены в правом столбце двух столбцов.
замечание
Код VBA сравнивает два столбца с учетом регистра.
2.5 Сравните два столбца и выделите дубликаты (используя код VBA)
Если вы хотите сравнить два столбца по ячейке, а затем выделить совпадения, вы можете попробовать следующий код.
1. Включите лист, на котором вы хотите сравнить два столбца, затем нажмите Alt + F11 клавиши для отображения Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули в Microsoft Visual Basic для приложений окно.
3. Скопируйте приведенный ниже код макроса и вставьте его в новый бланк. Модули скрипты.
VBA: сравнить два столбца и выделить дубликаты
Sub ExtendOffice_CompareTwoRanges()
'UpdatebyKutools20201019
Dim xRg, xRgC1, xRgC2, xRgF1, xRgF2 As Range
SRg:
Set xRgC1 = Application.InputBox("Select the column you want compare according to", "Kutools for Excel", , , , , , 8)
If xRgC1 Is Nothing Then Exit Sub
If xRgC1.Columns.Count <> 1 Then
MsgBox "Please select a single column"
GoTo SRg
End If
SsRg:
Set xRgC2 = Application.InputBox("Select the column you want to highlight duplicates in:", "Kutools for Excel", , , , , , 8)
If xRgC2 Is Nothing Then Exit Sub
If xRgC2.Columns.Count <> 1 Then
MsgBox "Please select a single column"
GoTo SsRg
End If
For Each xRgF1 In xRgC1
For Each xRgF2 In xRgC2
If xRgF1.Value = xRgF2.Value Then
xRgF2.Interior.ColorIndex = 38 '(you can change the color index as you need)
End If
Next
Next
End Sub
4. Нажмите F5 ключ для запуска кода. В первом появившемся диалоговом окне выберите столбец, по которому вы хотите сравнить повторяющиеся значения.
5. Нажмите OK. Во втором диалоговом окне выберите столбец, в котором вы хотите выделить повторяющиеся значения.
6. Нажмите OK. Теперь дубликаты во втором столбце были выделены цветом фона после сравнения с первым столбцом.
замечание
1. Код сравнивает столбцы с учетом регистра.
2. Вы можете изменить цвет выделения по своему усмотрению, изменив индекс цвета в коде, справочник по индексу цвета:
3. Сравнить несколько столбцов в одной строке
Иногда вам может потребоваться сравнить более двух столбцов в одной строке, например набор данных, как показано ниже. В этом разделе перечислены различные методы сравнения нескольких столбцов.
Нажмите, чтобы загрузить образец файла
3.1. Найдите полные совпадения во всех ячейках одной строки (используя формулу ЕСЛИ)
Чтобы найти полные совпадения по столбцам в одной строке, вам может помочь приведенная ниже формула ЕСЛИ.
=IF(AND(B2=C2, B2=D2), «Full match», «Not»)
Если ячейки в одной строке совпадают, отображается «Полное совпадение» или «Нет».
Нажмите Enter , чтобы получить первый результат сравнения, затем перетащите дескриптор автозаполнения в ячейку E7.
замечание
1. Формула сравнивает столбцы без учета регистра.
2. Если вам нужно сравнить более трех столбцов или их количество, вы можете использовать следующую формулу:
=IF(COUNTIF($B2:$D2, $B2)=3, «Full match», «Not»)
В формуле 3 — это количество столбцов, вы можете изменить его по своему усмотрению.
3.2 Найдите совпадения в любых двух ячейках в одной строке (используя формулу ЕСЛИ)
Иногда вы хотите узнать, совпадают ли какие-либо два столбца в одной строке, вы можете использовать приведенную ниже формулу IF.
=IF(OR(B2=C2, C2=D2, B2=D2), «Match», «Not»)
В этой формуле вам нужно сравнить любую пару ячеек в одной строке. «Совпадение» означает, что совпадают любые две ячейки, если совпадений нет, в формуле отображается «Нет», вы можете изменить текст по своему усмотрению.
Нажмите Enter и перетащите маркер заполнения в ячейку E7.
замечание
1. Эта формула не поддерживает регистр без учета.
2. Если необходимо сравнить много столбцов, сравнение любой пары ячеек в формуле может оказаться слишком длинным. В этом случае вы можете использовать приведенную ниже формулу, которая объединяет функции ЕСЛИ и СЧЁТЕСЛИ.
=IF(COUNTIF(C11:E11,B11)+COUNTIF(D11:E11,C11)+(D11=E11)=0,»Not»,»Match»)
3.3 Найдите полные совпадения во всех ячейках одной строки и выделите их (используя условное форматирование)
Если вы хотите выделить строки, в которых все ячейки совпадают друг с другом, вы можете использовать Условное форматирование функция в Excel.
1. Выберите диапазон, который вы используете, затем щелкните Главная > Условное форматирование > Новое правило.
2. в Новое правило форматирования диалога, выберите Используйте формулу, чтобы определить, какие ячейки следует форматировать. из Выберите тип правила раздел, то вы можете использовать одну из формул ниже в Формат значений, где эта формула истинна текстовое окно.
=AND($B2=$C2, $B2=$D2)
Or
=COUNTIF($B2:$D2, $B2)=3
Внимание: Если количество столбцов больше трех, предположим, 5, формулы следует изменить на:
=AND($B2=$C2, $B2=$D2, $B2=$E2, $B2=$F2)
Or
=COUNTIF($B2:$F2, $B2)=5
3. Нажмите Формат Нажмите кнопку, чтобы перейти к диалоговому окну «Формат ячеек», затем выберите один цвет заливки или другое форматирование ячейки, чтобы выделить строки.
4. Нажмите OK > OK, теперь будут выделены только строки, в которых совпадают все ячейки.
замечание
Приведенные выше формулы не поддерживают регистр.
3.4. Сравните несколько столбцов и выделите различия строк
Если вы хотите выделить различия строк, что означает, что он сравнивает ячейки столбца одну за другой и находит разные ячейки в соответствии с первым столбцом, вы можете использовать встроенную функцию Excel —Перейти к специальному.
1. Выберите диапазон, в котором нужно выделить различия строк, и нажмите Главная > Найти и выбрать > Перейти к специальному.
2. Во всплывающем Перейти к специальному диалог, проверьте Различия в строках опцию.
3. Нажмите OK. Теперь различия строк выделены.
4. Теперь, не снимая выделения с ячеек, щелкните Главная > Цвет заливки чтобы выбрать один цвет из раскрывающегося меню.
замечание
Этот метод сравнивает ячейки без учета регистра.
4. Сравните два столбца и найдите недостающие точки данных.
Предположим, что есть два столбца, столбец B длиннее, а столбец C короче, как показано ниже. По сравнению со столбцом B, как найти недостающие данные в столбце C?
Нажмите, чтобы загрузить образец файла
4.1 Сравните и найдите недостающие точки данных (с помощью формулы ВПР или ПОИСКПОЗ)
Если вы хотите только определить, какие данные отсутствуют после сравнения двух столбцов, вы можете использовать одну из следующих формул:
=ISERROR(VLOOKUP(B2,$C$2:$C$10,1,0))
Or
=NOT(ISNUMBER(MATCH(B2,$C$2:$C$10,0)))
Нажмите Enter , затем перетащите маркер автозаполнения на ячейку D10. Теперь, если данные находятся как в столбце B, так и в столбце C, формула возвращает FALSE, если данные находятся только в столбце B, но отсутствуют в столбце C, формула возвращает TRUE.
замечание
Приведенные выше две формулы сравнивают данные без учета регистра.
4.2 Сравните два столбца и перечислите недостающие данные ниже (используя формулу ИНДЕКС)
Если вы хотите перечислить недостающие данные под более коротким столбцом после сравнения двух столбцов, вам может помочь формула массива INDEX.
В ячейке ниже более короткого столбца, предположим ячейку C7, введите следующую формулу:
=INDEX($B$2:$B$10,MATCH(TRUE,ISNA(MATCH($B$2:$B$10,$C$2:C6,0)),0))
Нажмите Shift + Ctrl + Enter чтобы получить первые отсутствующие данные, затем перетащите дескриптор автозаполнения вниз, пока он не вернет значение ошибки # Н / Д.
Затем вы можете удалить значение ошибки, и все недостающие данные будут перечислены под более коротким столбцом.
замечание
Эта формула сравнивает ячейки без учета регистра.
4.3 Сравните и найдите недостающие точки данных и перечислите их в другом столбце (используя удобный инструмент)
Если вы хотите выполнить некоторую последующую операцию с отсутствующими данными после сравнения двух столбцов, например, перечислить недостающие данные в другом столбце или дополнить отсутствующие данные под более коротким столбцом, вы можете попробовать удобный инструмент —Выберите одинаковые и разные ячейки of Kutools for Excel.
1. Нажмите Кутулс > Выберите > Выберите одинаковые и разные ячейки.
2. в Выберите одинаковые и разные ячейки диалог, сделайте как показано ниже:
1) В Найдите значения в раздел, выберите более длинный столбец, содержащий полный список.
In Согласно информации раздел, выберите более короткий столбец, в котором отсутствуют некоторые данные.
2) Выберите Каждый ряд опцию.
3) Выберите Разные ценности опцию.
3. Нажмите Ok, появится диалоговое окно с напоминанием о количестве недостающих данных, нажмите OK чтобы закрыть это. Затем были выбраны недостающие данные.
Теперь вы можете нажать Ctrl + C клавиши, чтобы скопировать выбранные недостающие данные, и вставьте их, нажав Ctrl + V клавиши под более коротким столбцом или другой новый столбец по мере необходимости.
замечание
Отметив Без учета регистра опция в диалоговом окне «Выбрать одинаковые и разные ячейки» сравнивает два столбца с учетом регистра.
4.4 Сравните два столбца и перечислите недостающие данные ниже (используя VBA)
Вот код макроса, который может заполнить недостающие данные под двумя столбцами.
1. Откройте лист, который вы используете, нажмите Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули чтобы создать новый модуль для размещения под кодом VBA.
VBA: сравнить два столбца и заполнить недостающие данные
Sub ExtendOffice_PullUniques()
'UpdatebyKutools20201021
Dim xRg, xRgC1, xRgC2, xFRg1, xFRg2 As Range
Dim xIntR, xIntSR, xIntER, xIntSC, xIntEC As Integer
Dim xWs As Worksheet
On Error Resume Next
SRg:
Set xRg = Application.InputBox("Select two columns:", "Kutools for Excel", , , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count <> 2 Then
MsgBox "Please select two columns as a range"
GoTo SRg
End If
Set xWs = xRg.Worksheet
xIntSC = xRg.Column
xIntEC = xRg.Columns.Count + xIntSC - 1
xIntSR = xRg.Row
xIntER = xRg.Rows.Count + xIntSR - 1
Set xRg = xRg.Columns
Set xRgC1 = xWs.Range(xWs.Cells(xIntSR, xIntSC), xWs.Cells(xIntER, xIntSC))
Set xRgC2 = xWs.Range(xWs.Cells(xIntSR, xIntEC), xWs.Cells(xIntER, xIntEC))
xIntR = 1
For Each xFRg In xRgC1
If WorksheetFunction.CountIf(xRgC2, xFRg.Value) = 0 Then
xWs.Cells(xIntER, xIntEC).Offset(xIntR) = xFRg
xIntR = xIntR + 1
End If
Next
xIntR = 1
For Each xFRg In xRgC2
If WorksheetFunction.CountIf(xRgC1, xFRg) = 0 Then
xWs.Cells(xIntER, xIntSC).Offset(xIntR) = xFRg
xIntR = xIntR + 1
End If
Next
End Sub
3. Затем нажмите F5 нажмите клавишу для запуска кода, появится диалоговое окно для выбора двух сравниваемых столбцов.
4. Нажмите OK. Теперь недостающие данные перечислены под двумя столбцами.
замечание
Код сравнивает ячейки без учета регистра.
5. Сравните два столбца (даты), если больше или меньше
Если есть два столбца дат, как показано на скриншоте ниже, вы можете сравнить, какая дата находится позже в той же строке.
Нажмите, чтобы загрузить образец файла
5.1 Сравните два столбца, если они больше или меньше (по формуле)
Вы можете использовать простую формулу, чтобы быстро определить, является ли дата 1 более поздней, чем дата 2 в каждой строке.
=IF(B2>C2,»Yes»,»No»)
Нажмите Enter чтобы получить первый сравниваемый результат, затем перетащите дескриптор автозаполнения в ячейку C6, чтобы получить все результаты.
замечание
1. В Excel даты хранятся в виде числовых рядов, по сути, это числа. Таким образом, вы применяете формулу для прямого сравнения дат.
2. Если вы хотите сравнить, если дата 1 раньше даты 2 в каждой строке, измените символ. > в < в формуле.
5.2 Сравните два столбца, если они больше или меньше, чем формат (с использованием условного форматирования)
Если вы хотите выделить ячейки в столбце Дата 1, если они больше, чем Дата 2, вы можете использовать Условное форматирование функция в Excel.
1. Выберите даты в столбце B (Date1), затем щелкните Главная > Условное форматирование > Новое правило.
2. в Новое правило форматирования диалоговое окно, выберите Используйте формулу, чтобы определить, какие ячейки следует форматировать. в Выберите тип правила раздел, затем введите формулу = $ B2> $ C2 в текстовое поле Формат значений, где эта формула истинна.
Если вы хотите выделить ячейки в столбце B, размер которых меньше, чем в столбце C, используйте формулу = $ B2 <$ C2.
3. Нажмите Формат , чтобы открыть Формат ячеек диалоговое окно, затем выберите нужный тип формата.
4. Нажмите OK > OK. Затем были выделены ячейки в столбце Date1, которые больше, чем в столбце Date2.
6. Сравните два столбца и верните значение в другом столбце
Например, есть две таблицы, теперь вы хотите сравнить столбец B и столбец E, затем найти относительные цены из столбца C и вернуть их в столбец F.
Нажмите, чтобы загрузить образец файла
6.1 Получите точные совпадающие данные (используя формулу или удобный инструмент)
Здесь представлены некоторые полезные формулы и инструмент для решения этой задачи.
Формульный метод
В ячейке F2 (ячейка, в которую вы хотите поместить возвращаемое значение) используйте одну из следующих формул:
=VLOOKUP(E2,$B$2:$C$8,2,0)
Or
=INDEX($B$2:$C$8,MATCH(E2,$B$2:$B$8,0),2)
Нажмите Enter ключ, и первое значение было найдено. Затем перетащите дескриптор автозаполнения в ячейку F6, все значения были извлечены.
замечание
1. Формулы не поддерживают регистр.
2. Число 2 в формуле означает, что вы нашли совпадающие значения во втором столбце массива таблицы.
3. Если формулы не могут найти относительное значение, возвращается значение ошибки # N / A.
Удобный инструментальный метод
Если вы запутались с формулами, вы можете попробовать удобный инструмент — Формула Помощник of Kutools for Excel, который содержит несколько формул для решения большинства задач в Excel. С его помощью вам нужно только выбрать диапазон, но не нужно помнить, как используются формулы.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите ячейку F2 (ячейку, в которую нужно поместить возвращаемое значение) и щелкните Кутулс > Формула Помощник > Поиск и справка > Найдите значение в списке.
2. в Помощник по формулам диалог, справа Ввод аргументов выберите диапазон массива таблицы, значение поиска и укажите, в каком столбце вы хотите искать возвращаемое значение.
Функции: Не забудьте изменить абсолютную ссылку в Искомое_значение поле к относительному, или вы можете найти только первое значение.
3. Нажмите Ok, первое значение было найдено, затем перетащите дескриптор автозаполнения в ячейку F6.
6.2 Получение данных частичного совпадения (используя формулу)
Если есть небольшая разница между двумя сравниваемыми столбцами, как показано на скриншоте ниже, вышеуказанные методы не могут работать.
Для решения этой задачи выберите одну из формул ниже:
=VLOOKUP(«*»&E2&»*»,$B$2:$C$8,2,0)
Or
=INDEX($B$2:$C$8,MATCH(«*»&E2&»*»,$B$2:$B$8,0),2)
Нажмите Enter нажмите клавишу, затем перетащите дескриптор автозаполнения в ячейку F5, все значения найдены.
замечание
1. Формулы не поддерживают регистр.
2. Число 2 в формуле означает, что вы найдете возвращаемые значения во втором столбце массива таблицы.
3. Если формулы не могут найти относительное значение, возвращается значение ошибки # N / A.
4. * в формуле — это подстановочный знак, который используется для обозначения любого символа или строки.
7. Сравните два столбца и подсчитайте совпадения или различия
Ниже приведен набор данных для сравнения и подсчета совпадений или различий.
Нажмите, чтобы загрузить образец файла
7.1 Сравните два столбца и подсчитайте совпадения (используя формулу СУММПРОИЗВ)
Формула СУММПРОИЗВ может быстро подсчитать совпадения в двух столбцах.
=SUMPRODUCT(—(ISNUMBER(MATCH(B2:B8,C2:C8,0))))
Нажмите Enter ключ для получения результата.
замечание
Формула подсчитывает ячейки без учета регистра.
7.2 Сравните два столбца и подсчитайте совпадения или различия (с помощью удобного инструмента)
Если вы хотите подсчитать совпадения или различия между двумя столбцами, удобный инструмент — Выберите одинаковые и разные ячейки.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Нажмите Кутулс > Выберите > Выберите одинаковые и разные ячейки.
2. в Выберите одинаковые и разностные ячейки диалоговом окне выберите два диапазона столбцов в Найдите значения в и Согласно информации разделов отдельно, затем выберите Каждый ряд, и выберите Те же значения or Разные ценности вариант как вам нужно.
3. Нажмите Ok. Появится диалоговое окно, в котором указано, сколько совпадающих или разных ячеек выбрано.
Соответствующие ячейки
Разные клетки
8. Сравните два столбца с подстановочным знаком
Предположим, что это список данных в столбце B, и вы хотите подсчитать ячейки, содержащие «Apple» или «Candy» в столбце D, как показано ниже:
Нажмите, чтобы загрузить образец файла
Чтобы подсчитать, содержит ли ячейка одно или несколько значений, вы можете использовать формулу с подстановочными знаками для решения этой проблемы.
=SUM(COUNTIF(B2,»*» & $D$2:$D$3 & «*»))
Нажмите Shift + Ctrl + Enter , чтобы получить первую проверку, затем перетащите дескриптор автозаполнения в ячейку F8.
Теперь, если связанная ячейка содержит одно или несколько значений в столбце D, результат отображает число больше 0, если оно не содержит никакого значения в столбце D, возвращается 0.
Если вы хотите подсчитать общее количество ячеек, содержащих значения в столбце D, используйте формулу в ячейке F8 ниже:
замечание
1. Также вы можете использовать формулу для подсчета, если ячейка содержит значения в другом столбце.
=SUMPRODUCT(COUNTIF(B2,»*» &$D$2:$D$3& «*»))
Эту формулу нужно только нажать Enter и перетащите маркер автозаполнения.
2. В формулах * — это подстановочный знак, обозначающий любой символ или строку.
9. Удалите различия или совпадения.
Если вы хотите удалить различия или совпадения после сравнения двух столбцов, как показано на скриншоте ниже:
Нажмите, чтобы загрузить образец файла
Вы можете использовать формулу, чтобы сначала найти разницу или совпадения:
=IF(ISERROR(MATCH(B2,$D$2:$D$8,0)),»Difference»,»Match»)
Нажмите Enter и перетащите дескриптор автозаполнения в ячейку D8.
Затем примените Фильтр функцию в Excel чтобы отфильтровать различия или совпадения по значению.
Выберите столбец формулы, затем щелкните Данные > Фильтр.
Затем в столбце C появится кнопка фильтра, нажмите кнопку фильтра, чтобы развернуть раскрывающееся меню, выберите разница or Совпадение как вам нужно. Затем нажмите OK в конце.
Теперь отфильтрованы только различия или совпадения. Вы можете выбрать их и нажать Удалить ключ, чтобы удалить их.
Теперь нажмите Данные > Фильтр еще раз, чтобы очистить фильтр.
Удалите столбец формулы, если он вам больше не нужен.
10. Сравните два столбца и рассчитайте процентное изменение между
Есть два столбца: один содержит исходные цены, а другой — цены продажи. Теперь в этой части вводится формула для сравнения этих двух столбцов, а затем вычисляется процентное изменение между двумя столбцами.
Нажмите, чтобы загрузить образец файла
Вы можете использовать приведенную ниже формулу, чтобы вычислить процентное изменение между двумя ценами в одной строке.
=(C2-B2)/B2
Нажмите Enter , чтобы получить число, затем перетащите дескриптор автозаполнения в ячейку D7.
Затем отформатируйте результат формулы в процентах. Выберите результаты, нажмите Главная вкладка и перейдите к Число группа для нажатия Процентный стиль.
Результаты формулы были отформатированы в процентах.
11. Сравните два диапазона
Теперь вы знаете, как сравнить два столбца после прочтения вышеуказанных методов. Однако в некоторых случаях вам может потребоваться сравнить два диапазона (две серии с несколькими столбцами). Вы можете использовать вышеуказанные методы (формулы или условное форматирование), чтобы сравнить их столбец за столбцом, но здесь представлен удобный инструмент — Kutools for Excel может быстро решить эту задачу в разных случаях без формулы.
Нажмите, чтобы загрузить образец файла
11.1 Сравнить два диапазона по ячейке
Вот два диапазона, которые необходимо сравнить по ячейкам, вы можете использовать Выберите одинаковые и разные ячейки полезности Kutools for Excel справиться с этим.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Нажмите Кутулс > Выберите > Выберите одинаковые и разные ячейки.
2. Во всплывающем Выберите одинаковые и разные ячейки диалог, сделайте как показано ниже:
1). Найдите значения в В разделе выберите диапазон, в котором вы хотите найти совпадения или различия после сравнения двух диапазонов.
2). Согласно информации раздел, выберите другой диапазон, используемый для сравнения диапазона.
3) В на основании раздел, выбрать Однокамерная.
4) Затем в Найти раздел, выберите тип ячеек, которые вы хотите выделить или выделить.
5). Обработка результатов Вы можете выделить ячейки цветом фона заливки или цветом шрифта, если выделять не нужно, не ставьте галочки.
3. Нажмите Ok. Появится диалоговое окно с напоминанием о том, сколько ячеек / строк было выбрано, щелкните OK чтобы закрыть это. Теперь ячейки, которые отличаются от ячеек из другого диапазона, выделены и выделены.
Выделение одинаковых значений
замечание
Если вы хотите сравнить два диапазона по строкам, вы также можете применить Выберите одинаковые и разные ячейки функцию, но в этом случае выберите Каждый ряд опцию.
11.2 Сравните два диапазона, если данные в одном порядке
Если вы хотите сравнить два диапазона по строкам, Функция сравнения ячеек of Kutools for Excel могу помочь тебе.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
Предположим, диапазон F2: H7 является моделью, теперь вы хотите определить, находятся ли данные в диапазоне B2: D7 в правильном порядке в соответствии с диапазоном F2: H7.
1. Нажмите Кутулс > Сравнить ячейки.
2. в Сравнить ячейки диалог, установите как показано ниже:
1) Выберите два диапазона в Найдите значения в и Согласно информации коробки отдельно.
2) Выберите тип ячейки, которую хотите выделить в Найти .
3) Выберите тип выделения в Обработка результатов .
3. Нажмите Ok. Появится диалоговое окно с напоминанием о том, сколько ячеек было выбрано, щелкните OK чтобы закрыть это. Теперь ячейки, которые отличаются от ячеек из другого диапазона, выделены и выделены.
Вы также можете быть заинтересованы в |
Сравните два листа рядом |
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы и хранение данных; Разделить содержимое ячеек; Объедините повторяющиеся строки и сумму / среднее значение… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Избранные и быстро вставляйте формулы, Диапазоны, диаграммы и изображения; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Группировка сводной таблицы по номер недели, день недели и другое … Показать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки, у которых есть формула / имя…
Вкладка Office — предоставляет интерфейс с вкладками в Office и значительно упрощает вашу работу
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Добрый день! Помогите пожалуйста написать макрос для сравнения 2 столбцов, я в VBA совсем не разбираюсь, но думаю это можно сделать как-то быстро.
Суть вот какая: в первой колонке(A) номера уникальные и не повторяются, во второй колонке(В) номера не уникальные. Номера могут идти не по порядку. Задача следующая: определить те строки значения которых из первой колонке отсутствуют во второй, остальные удалить.
На примере будет понятнее:
A | B |
01 | |
02 | 01 |
03 | 01 |
04 | 01 |
05 | 02 |
06 | 02 |
07 | 03 |
08 | 07 |
09 | 07 |
10 | 04 |
11 | 04 |
12 | 10 |
13 | 10 |
14 | 11 |
15 | 14 |
Итого: значений 05, 06, 08, 09, 12,13 и 15 нет в колонке B, поэтому эти строки не трогаем, а остальные удаляем.
Алгоритм я представляю себе следующим образом(пример другой)
Цикл пока A (i+1) не пустая
A1 не равно B1 следующая
A1 не равно B2, следующая
A1 равно B2 удалить строку A1, переход к A2
А2 не пустая продолжаем
А2 не равно B1 следующая
А2 не равно B2 следующая
А2 не равно B3 следующая
A3 не равно B1 следующая
A3 не равно B2 следующая
A3 не равно B3 следующая
A4 пустая — конец макроса.
Тут нужно 2 цикла 1 вложен в другой?
Очень прошу помогите чем можете!
I would like to compare 2 cells’ value and see whether they are match or not.
I know how to do it on excel but I dont’ know how to put it vba code.
Input & output:
- The value of cell A1 is already in the excel.
- Manually enter a value in Cell B1.
- click on a button_click sub to see whether the value on 2 cells are the same or not.
- Show «Yes» or «No» on cell C1
Excel formula:
=IF(A1=B1,"yes","no")
asked Jan 21, 2015 at 15:55
Give this a try:
Sub CompareCells()
If [a1] = [b1] Then
[c1] = "yes"
Else
[c1] = "no"
End If
End Sub
Assign this code to the button.
answered Jan 21, 2015 at 15:58
Gary’s StudentGary’s Student
95.3k9 gold badges58 silver badges98 bronze badges
1
If (Range("A1").Value = Range("B1").Value) Then
Range("C1").Value = "Yes"
Else
Range("C1").Value = "No"
End If
Chrismas007
6,0654 gold badges23 silver badges47 bronze badges
answered Jan 21, 2015 at 16:03
EswinEswin
292 bronze badges
5
You can use the IIF function in VBA. It is similar to the Excel IF
[c1] = IIf([a1] = [b1], "Yes", "No")
answered Jan 21, 2015 at 16:47
Paul KellyPaul Kelly
9057 silver badges13 bronze badges
1
Here is an on change Sub (code MUST go in the sheet module). It will only activate if you change a cell in column B.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target is Nothing Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column <> 2 Then Exit Sub
If Cells(Target.Row, 1).Value = Cells(Target.Row, 2).Value Then
Cells(Target.Row, 3).Value = "Yes"
Else
Cells(Target.Row, 3).Value = "No"
End If
End Sub
For the record, this doesn’t use a button, but it accomplishes your goal of calculating if the two cells are equal any time you manually enter data into cells in Col B.
answered Jan 21, 2015 at 16:08
Chrismas007Chrismas007
6,0654 gold badges23 silver badges47 bronze badges
Sub CompareandHighlight()
Dim n As Integer
Dim sh As Worksheets
Dim r As Range
n = Worksheets("Indices").Range("E:E").Cells.SpecialCells(xlCellTypeConstants).Count
Application.ScreenUpdating = False
Dim match As Boolean
Dim valE As Double
Dim valI As Double
Dim i As Long, j As Long
For i = 2 To n
valE = Worksheets("Indices").Range("E" & i).Value
valI = Worksheets("Indices").Range("I" & i).Value
If valE = valI Then
Else:
Worksheets("Indices").Range("E" & i).Font.Color = RGB(255, 0, 0)
End If
Next i
Application.ScreenUpdating = True
End Sub
barbsan
3,39811 gold badges21 silver badges28 bronze badges
answered Nov 21, 2018 at 9:29
0