Excel 使用公式复制范围内具有特定值的单元格

Excel 使用公式复制范围内具有特定值的单元格,excel,excel-formula,Excel,Excel Formula,我正在尝试导入并维护一个excel列表,其中列出了我的梦幻联赛中所有被录取的梦幻足球运动员以及他们每周的平均分数。我可以以每页25名玩家的价格从雅虎获得这些信息,因此我设置了一个excel工作簿,每页都有25名玩家(总共10页)将一个Web链接导入excel 我的想法是,每周我都可以简单地将所有页面刷新到excel中,然后在同一工作簿中创建另一张工作表,该工作表将遍历所有工作表,并将其放入一个很好的列表中,我可以对其进行操作和使用。基本上是: Player Name | Position | T

我正在尝试导入并维护一个excel列表,其中列出了我的梦幻联赛中所有被录取的梦幻足球运动员以及他们每周的平均分数。我可以以每页25名玩家的价格从雅虎获得这些信息,因此我设置了一个excel工作簿,每页都有25名玩家(总共10页)将一个Web链接导入excel

我的想法是,每周我都可以简单地将所有页面刷新到excel中,然后在同一工作簿中创建另一张工作表,该工作表将遍历所有工作表,并将其放入一个很好的列表中,我可以对其进行操作和使用。基本上是:

Player Name | Position | Team Name | AVG PTS
不幸的是,导入的信息是一个小变量,因此我不能专门引用绝对单元格。这是因为球员之间可能有或可能没有一个额外的行与他们的受伤状态

我所知道的是,玩家的名字在b列,从B160范围开始,到B250的最大值结束。b列中每个玩家的名字都可以用ctrl+f来分隔“-”

我要做的是在工作簿中的单独工作表上设置一个公式,该公式将:

  • 使用导入的数据在工作表上搜索此范围
  • 查找此范围内带“-”的所有字符串
  • 复制/返回单元格的完整字符串,而不返回其他内容
  • 我不确定这是否可能与公式,我没有任何运气在这里看到其他职位

    这里有一个链接,指向我正在使用google docs做的事情的截断版本(我觉得人们下载一些随机的excel文件会觉得很有趣:


    如果您只有几张工作表,一个简单的方法是筛选列,然后在筛选搜索中键入“-”(不带引号)。这适用于2007+。仅将可见单元格复制并粘贴到主工作簿

    您还可以使用VBA执行以下操作:

    Dim sMain As String
    Dim sImported As String, lLen As Long
    Dim sStart As String
    sMain = "ALL TAKEN PLAYERS AVG" 'name of your main sheet
    sMainCol = "A" 'column your player names will go in
    sImported = "Imported Data " 'string that player sheets start with
    lLen = Len(sImported)
    sStart = "B160" 'starting cell for imported data
    
    Dim ws As Worksheet
    Dim rPlayers As Range, cell As Range
    Dim counter As Long
    
    counter = 5 'starting row to fill out players
    
    For Each ws In Worksheets
        If Left(ws.Name, lLen) = sImported Then
            ws.Activate
            Set rPlayers = Range(Range(sStart), Range(sStart).End(xlDown))
            For Each cell In rPlayers
                If InStr(1, cell.Value, " - ") > 0 Then
                    Sheets(sMain).Range(sMainCol & counter).Value = cell.Value
                    counter = counter + 1
                End If
            Next cell
        End If
    Next ws