2015-04-22 4 views
0

Существует огромный набор данных в двух столбцах. Я должен напечатать, совпадают ли две строки или нет в третий столбец как совпадение/не соответствует.Сравнение строк в Excel VBA

For example- YES & YeS match 
       yes & YES match 
       ye2 & yes No match & so on 

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

+0

Ответы на [этот вопрос] (http://superuser.com/questions/284022/comparing-two-strings-in-excel) дают вам ответ? Подводя итог, если вы просто положили '= EXACT (A1, B1)' в 'C1' и скопировали до вас, вы получите логическое значение для того, совпадают ли они или нет, без использования VBA. Чтобы получить совпадение/не совпадать, просто поместите это логическое выражение в оператор 'IF'. – eirikdaude

+0

@eirikdaude Я пробовал эту инструкцию EXACT, для случаев, таких как YES & yEs, она дает мне значение как ложное, хотя эти 2 строки равны. –

+0

Работает ли '= A1 = B1'? Кажется, что я тестирую его, а «EXACT» дает мне те же результаты, что и для вас. Если это сработает, я напишу свои комментарии в качестве ответа и удалю комментарии. – eirikdaude

ответ

0

Вам действительно не нужен VBA, но если да, вы можете просто написать UDF, указывающий (поверх модуля), что вы используете опцию Compare text.

Option Compare Text 
Public Function compareText(ByVal str1 As String, ByVal str2 As String) As String 

    If str1 = str2 Then 
     compareText = "Match" 
    Else 
     compareText = "Do not match" 
    End If 

End Function 

После этого добавляет, что у вас есть данные в ячейках A1 и B1, то вы просто добавляете в клетку C1 формулы =compareText(A1,B1) и прокрутка вниз для других значений.

Пожалуйста, обратите внимание, что это наиболее эффективный подход, поскольку Option Compare Text будет выполнять бинарное сравнение строк (не имея, чтобы преобразовать в UPPER любой строки, прежде чем сравнивать, то, что будет влиять на производительность, если объем данных действительно огромен как ты говоришь).

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