首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找最先出现的数字的行索引

查找最先出现的数字的行索引
EN

Stack Overflow用户
提问于 2011-12-07 16:38:29
回答 1查看 96.9K关注 0票数 23

我有一个A列,它的值按随机顺序排列,比如

代码语言:javascript
复制
       A column
           2
           3
           4
           2
           5
           6
           4
           3
           4

我想要一个最先出现的特定数字的行索引。假设我说数字是4,那么返回值应该是3

我还想要出现last.say的特定数字的行索引,如果我说数字是3,那么返回的值必须是8

我想Vlookupfind函数必须完成这个任务,但无法将它们放入order.please中,请帮助我完成这些任务

EN

回答 1

Stack Overflow用户

发布于 2011-12-08 01:24:19

嗨,朋友,你可以使用宏来做这件事

使用以下代码

代码语言:javascript
复制
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

如何使用代码?(如果您是宏的新手)

  1. 打开新的excel文件
  2. 按Alt +F11
  3. 插入新模块
  4. 将代码粘贴到模块

< code >H110返回excel工作表,将宏‘FindNumbers’添加到

  1. 将excel保存为.xlsm格式A:在A列中输入数据并单击按钮或运行宏
  2. 按按钮或运行宏

您的结果将如下所示

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

列C:第一次出现数据

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8412389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档