У меня есть Excel-файл с 3 электронными таблицами. На второй и третьей страницах у меня есть огромный список IP-адресов, все из которых относятся к конкретному имени, которое можно найти как на второй, так и на третьей странице.

Я хочу ввести имя на первой странице, скажем "Маркетинг", а затем я хочу получить "Маркетинговые" IP-адреса в 2 ячейках ниже. Этот "Маркетинг" можно найти на обеих страницах с уникальными IP-адресами.

2 ответа2

0

В соответствии с моим комментарием к вашему посту, VLookUp, вероятно, подойдет, но я не знаю функций Excel, поэтому он выполняет свою работу, используя VBa.

Sub search()

Dim searchValue As String
searchValue = Worksheets("Sheet1").Range("B2").Value

Worksheets("Sheet1").Range("B4").Value = GetIpFromWorksheet("Sheet2", searchValue)
Worksheets("Sheet1").Range("B5").Value = GetIpFromWorksheet("Sheet3", searchValue)

End Sub

Public Function GetIpFromWorksheet(ByVal sheet As String, ByVal search As String) As String

Dim row As Integer
row = 1

Do While (True)

    If Worksheets(sheet).Range("A" & row).Value = "" Then
        GetIpFromWorksheet = "Not found"
        Exit Function
    End If

    If Worksheets(sheet).Range("A" & row).Value = search Then
        GetIpFromWorksheet = Worksheets(sheet).Range("B" & row).Value
        Exit Function
    End If

    row = row + 1


Loop

End Function

Лист1:

Лист2:

Sheet3:

Лист1 после того, как я нажму кнопку поиска

-1

Обычно это делается с помощью функций поиска, таких как vlookup или hlookup. Вот учебник для этого.

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