Найти индекс строки для числа, которое произошло первым
У меня есть столбец A
, который имеет значения в случайном порядке, например
A column
2
3
4
2
5
6
4
3
4
Я хочу сначала указать индекс строки определенного числа. скажем, если я говорю, что число равно 4, возвращаемое значение должно быть 3
Мне также нужен индекс строки для определенного числа, которое произошло последним. Если я говорю, что число равно 3, то возвращаемое значение должно быть 8
Я думал, что Vlookup
или find
функция должна выполнять задачу, но не может поставить их в order.please, помогите мне с этими
Ответы
Ответ 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: Последнее появление данных