find一个首先发生的号码的行索引

我有A列有像随机顺序的值

  A column 2 3 4 2 5 6 4 3 4 

我想要首先发生的特定数字的行索引。 说如果我说数字是4返回的值应该是3

我也想要一个特定的号码行索引last.say如果我说数字是3,那么返回的值必须是8

我正在想Vlookupfindfunction必须做的任务,但无法把他们的顺序。请用这些帮助我

我的例子是寻找数字3但很容易适应。

要find第一个事件,可以使用:

 =MATCH(3,A:A,0) 

要find最后一个,可以使用数组公式(使用Ctrl + Shift + Enter进行validation)

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

请注意,您也可以使用MIN的第一个数组公式相当复杂的价值。

嗨,朋友你可以使用macros来做到这一点

使用下面的代码

 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 

如何使用代码? (如果你是macros观的新手)

  1. 打开一个新的Excel文件

  2. 按下Alt + F11

  3. 插入一个新的模块

  4. 将代码粘贴到模块中

  5. 回到Excel表格并添加一个button

  6. 将macros“FindNumbers”分配给button

  7. 如果您使用的是Excel 2007或2010,请以.xlsm格式保存excel

  8. 帮帮我

  9. A栏:在列A中input数据,然后单击button或运行macros

  10. 按下button或运行macros

你的结果会是这样的

列B:在列A中input的数据中唯一的数字

C列:首次发生数据

D列:最后一次出现的数据