-2

У меня проблемы при сравнении двух таблиц. У меня есть лист A и лист B. В каждом рабочем листе столбец A содержит номер клиента, а столбец B - дату. Один и тот же клиент и одна и та же дата могут встречаться в разных строках, но есть третье значение, которое будет дифференцировать разницу (столбец C) от цены, которую они заплатили за свои товары. Существует ли формула или функция, которая позволяет сравнивать два столбца с двумя другими столбцами на другом листе?

1 ответ1

0

Есть несколько способов сделать это, мне нравится использовать VBA, один очень простой пример:

Sub Macro1()
Dim Sheet1 As Worksheet, sheet2 As Worksheet
Dim result As Long, result2 As Long
Dim duplicated As Boolean
Dim fstrst As Long, lstrst As Long

Set Sheet1 = Workbook1  ' add your workbook here like this
Set sheet2 = Workbook2  ' Workbooks("testbook").Sheets("sheet1")

' this says count the values from row 1 to the end of the data
fstrst = 1
lstrst = Sheet1.Range("A" & Rows.Count).End(xlUp).Row

For result = fstrst To lstrst
    duplicated = False
For result2 = fstrst To lstrst

If Sheet1.Cells(result, 3) = sheet2.Cells(result2, 3) Then
    duplicated = True
    Exit For
     End If

Next result2
If duplicated = True Then
 ' if there are any matching values then duplicated will appear in column C
 Sheet1.Cells(result, 3).Interior.ColorIndex = duplicated

 End If

Next result

End Sub

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

Пример на основе рабочего листа может использовать vlookup со встроенной формулой if для проверки определенных критериев, например, = IF(VLOOKUP(A4, Sheet2!)A:B, 1,0), "Duplicated", "") это скажет вам, если что-то было продублировано, и если ничего не показано. Но все зависит от того, что вы хотите увидеть.

Надеюсь, поможет

Том

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