Сопоставление/поиск строк в разных листах

Сопоставление/поиск строк в разных листах

У меня есть 2 листа со столбцами типа «торговец», «сумма», «данные» и т. д. Единственное, что на 100% объединяет эти два листа, — это сумма. Я хочу сопоставить/найти строки из листа 1 и листа 2, которые содержат одинаковую сумму. На одном из листов у меня больше данных, чем на другом, например, 3-я строка из листа 1 не совпадает с 3-й строкой из листа 2. Каким-то образом мне приходится искать сумму.

решение1

Это должно помочь, но ваш вопрос очень неясен :(

Sub FindTheThings()

Dim resultRow As Integer
resultRow = 2

Dim currentRow As Integer
currentRow = 2

Worksheets("Sheet3").Range("A1").Value = "Sheet1 row"
Worksheets("Sheet3").Range("B1").Value = "Sheet2 row"

Do While (Worksheets("Sheet1").Range("B" & currentRow).Value <> "")

Dim amount As String
amount = Worksheets("Sheet1").Range("B" & currentRow).Value

Dim currentRowSheet2 As String
currentRowSheet2 = 2

    Do While (Worksheets("Sheet2").Range("B" & currentRowSheet2).Value <> "")

        Dim sheet2amount As String
        sheet2amount = Worksheets("Sheet2").Range("B" & currentRowSheet2).Value

        If (sheet2amount = amount) Then

            Worksheets("Sheet3").Range("A" & resultRow).Value = currentRow
            Worksheets("Sheet3").Range("B" & resultRow).Value = currentRowSheet2

            resultRow = resultRow + 1
            Exit Do
        End If

    currentRowSheet2 = currentRowSheet2 + 1
    Loop
currentRow = currentRow + 1

Loop

End Sub

Существуют ошибки, например, что произойдет, если сумма встречается несколько раз, что произойдет, если данные на листе 1 имеют больше или меньше значений, чем на листе 2, как должна быть представлена ​​информация и т. д.

В любом случае, этот VBa должен помочь вам начать работу, так как его можно настраивать.

Лист 1

введите описание изображения здесь

Лист 2

введите описание изображения здесь

Лист 3 (создан после запуска макроса)

введите описание изображения здесь

решение2

=VLOOKUP(B1,Sheet1!$A$1:$B$28,2,0)находит первый экземпляр.

=COUNTIF(Sheet1!$A:$A,Sheet2!B2)сообщает, если их больше, чем один экземпляр.

Связанный контент