我的A
列具有随机顺序的值,如
A column
2
3
4
2
5
6
4
3
4
我想要首先出现的特定数字的行索引。如果我说数字是4,则返回的值应为3
我还想要一个特定数字的行索引发生last.say如果我说数字是3那么返回的值必须是8
我在想Vlookup
或find
函数必须完成任务但无法按顺序排列。请帮助我解决这些问题
答案 0 :(得分:41)
我的示例正在查找数字3
,但很容易适应。
要查找第一次出现,您可以使用:
=MATCH(3,A:A,0)
要查找最后一个,您可以使用数组公式(使用 Ctrl + Shift + 输入进行验证)
{=MAX(IF(A1:A10=3,ROW(A1:A10),0))}
请注意,你也可以使用MIN
的第一个数组公式,但它的价值会非常复杂。
答案 1 :(得分: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 2007或2010,则以.xlsm格式保存Excel
帮助
A栏:在A栏输入您的数据,然后点击按钮或运行宏
按按钮或运行宏
您的结果将是这样的
B栏:在A栏中输入的数据中唯一的数字
C栏:首次出现数据
D栏:最后出现的数据