Excel 我可以使用vlookup或match/index查找左边的数据以查找更多的查找值吗?

Excel 我可以使用vlookup或match/index查找左边的数据以查找更多的查找值吗?,excel,Excel,这是我掌握的数据。 我想看看能不能查到所有的韩国股票。因此,输入值应为“韩国”,结果表/数组应如下所示: 显然,我不能使用VLOOKUP,因为1)查找值(国家名称)在右列,2)它将只返回第一个值(股票A)。我需要返回所有值(股票A、股票B、股票E和股票F)。我真的很感激你的帮助 我的意思是,使用内置过滤函数似乎更符合逻辑,但如果您绝对坚持使用公式/代码,那么: 只需使用这个简单的过程 Private Sub sort_wares(From As String, toColumn As Inte

这是我掌握的数据。 我想看看能不能查到所有的韩国股票。因此,输入值应为“韩国”,结果表/数组应如下所示:

显然,我不能使用VLOOKUP,因为1)查找值(国家名称)在右列,2)它将只返回第一个值(股票A)。我需要返回所有值(股票A、股票B、股票E和股票F)。我真的很感激你的帮助

我的意思是,使用内置过滤函数似乎更符合逻辑,但如果您绝对坚持使用公式/代码,那么:

只需使用这个简单的过程

Private Sub sort_wares(From As String, toColumn As Integer)

    Dim ws As Worksheet: Set ws = Sheets("Sheet1")
    Dim tbl As ListObject: Set tbl = ws.ListObjects("Table1")
    Dim index As Integer
    index = 2

    For Each Rng In tbl.ListColumns(2).DataBodyRange
        If Trim(LCase(Rng)) = Trim(LCase(From)) Then

            ws.Cells(index, toColumn + 1) = Rng
            ws.Cells(index, toColumn) = Rng.Offset(0, -1)

            index = index + 1
        End If

    Next Rng
End Sub
您可以很容易地调用该过程,因此,例如,如果我们希望从以下数据中查找来自津巴布韦的所有商品,并将它们打印到第5列(E),我们将执行以下操作

呼叫分拣商品(“津巴布韦”,5)


您可以使用以下功能。请注意,需要通过同时按CTRL+SHIFT+ENTER来提交的是数组公式。如果操作正确,Excel将使用
{}
包装公式

=IFERROR(索引($A$1:$A$1000,小型(如果($B$1:$B$1000=“韩国”),行($B$1:$B$1000)),行($A$1:A1)),“”)

您可以用单元格引用替换
“SOUTH KOREA”


根据需要调整范围并向下复制。

使用过滤器如何?@哦,我必须自动化一个过程。然后使用透视表和切片器。@zipa我不能使用透视表进行此工作。我必须使用现有的excel函数或VBATHES。这些信息本应在问题中,对我来说,这听起来越来越像家庭作业。对您的原始问题的简短回答:不,您不能使用vlookup或match/index,因为它们返回单个值的限制。您好,非常感谢。我刚试过,但它只返回第一个值(股票A)。。我突出显示了多个单元格,按F2键,输入公式,然后按ctrl+shift+enter键,但所有单元格都显示STOCKA@JunJang我这边没有这样的问题。查看DropBox上保存的文件嗨,非常感谢您的帮助。事实上,问题在于数据(商品和国家)位于不同的工作表中。所以我必须去不同的工作表。@JunJang你好,那就参考不同的工作表吧!检查我的代码如何将工作表“Sheet1”存储在我的
ws
变量中。创建第二个类似于我创建的,然后将其应用到要粘贴数据的位置。如果您仍然不确定如何操作,请使用准确的工作表名称和数据编辑您的问题,我将相应地更新我的答案!非常感谢你。。因此,数据(库存和国家)存储在“表1”中。用户希望在“表2”中提供输入值(国家名称),并在“表2”中返回股票列表。另外,我可以问一下“表1”是什么吗?输入值在哪里?在输入框内还是在单元格内?表1是存储在我的图片中的数据(带有黑色标题和边框)。通常使用表比使用范围更好,因为表索引它自己的行,而不是范围是一个静态引用,如果您更改它就会崩溃(我的意思是-如果您在代码中从第2行开始使用范围,并且有人添加了额外的行,那么整个代码都会崩溃。因此,最好使用表)