Подтвердить что ты не робот

Найти индекс строки для числа, которое произошло первым

У меня есть столбец A, который имеет значения в случайном порядке, например

       A column
           2
           3
           4
           2
           5
           6
           4
           3
           4

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

Мне также нужен индекс строки для определенного числа, которое произошло последним. Если я говорю, что число равно 3, то возвращаемое значение должно быть 8

Я думал, что Vlookup или find функция должна выполнять задачу, но не может поставить их в order.please, помогите мне с этими

4b9b3361

Ответ 1

Мои примеры ищут номер 3, но его легко адаптировать.

Чтобы найти первое вхождение, вы можете использовать:

=MATCH(3,A:A,0)

Чтобы найти последний, вы можете использовать формулу массива (проверять с помощью Ctrl + Shift + Enter)

{=MAX(IF(A1:A10=3,ROW(A1:A10),0))}

Обратите внимание, что вы также могли использовать формулу массива для первой с MIN, но это было бы довольно сложно для того, что она стоит.

Ответ 2

Привет друг, вы можете использовать макросы для этого

Используйте следующий код

Sub FindNumbers()

    Sheet1.Range("B:D") = ""
    Application.ScreenUpdating = False
    tot = Sheet1.Range("A1048575").End(xlUp).Row
    i = 1
    k = 1
    m = 1
    n = 1
    o = 1
    p = 1

    For i = 1 To tot
            c = Application.WorksheetFunction.CountIf(Sheet1.Range("B:B"), Sheet1.Range("A" & i).Value)
            If c <= 0 Then
            Sheet1.Range("B" & k).Value = Sheet1.Range("A" & i).Value
            k = k + 1
            End If
    Next

    tots = Sheet1.Range("B1048575").End(xlUp).Row

    For m = 1 To tots
        For n = 1 To tot
            If Sheet1.Range("B" & m).Value = Sheet1.Range("A" & n).Value Then
            Sheet1.Range("D" & m).Value = n
            End If
        Next
    Next

    For o = 1 To tots
        For p = 1 To tot
            If Sheet1.Range("B" & o).Value = Sheet1.Range("A" & p).Value Then
            Sheet1.Range("C" & o).Value = p
            p = tot
            End If
        Next
    Next

    Application.ScreenUpdating = True

End Sub

Как использовать код? (Если вы новичок в макросе)

  • Откройте новый файл excel

  • Нажмите Alt + F11

  • Вставьте новый модуль

  • Вставьте код в модуль

  • Вернитесь к листу Excel и добавьте кнопку

  • Назначьте макрос "FindNumbers" кнопке

  • Сохранить excel в формате .xlsm, если вы используете excel 2007 или 2010

  • Help

  • Столбец A: Введите данные в столбце A и нажмите кнопку или запустите макрос

  • Нажмите кнопку или запустите макрос

Ваш результат будет таким:

Столбец B: Номера, которые уникальны в данных, введенных в столбце A

Столбец C: Первое появление данных

Столбец D: Последнее появление данных