gpt4 book ai didi

excel - 如何用另一个列表的内容过滤一个列表?

转载 作者:行者123 更新时间:2023-12-02 13:22:52 27 4
gpt4 key购买 nike

我有一个 ID 列表(大约 140 个),我想查询一个大的(50k+)电子表格。这不是一个简单的“列表中是否存在该项目”;我还想查看大电子表格中存储的详细信息。最简单的方法是使用过滤器并手动输入 ID,但是 ID 列表相当大,一次输入 140 个 ID 会是一个非常痛苦的过程。有没有办法使用高级过滤器或宏来帮助我过滤我想要的项目?

注意:我不想使用 VBA,因为这需要花费大量时间。从那以后我了解到数据透视表是最好的解决方案。我想知道是否有任何公式或宏可以更轻松地做到这一点。

最佳答案

如果您希望使用 VBA 并且不添加列,您可以使用以下命令:

Sub Filter()
Dim Criteria As Variant
Criteria = Worksheets("Sheet1").Range("A1:A140")

Worksheets("Sheet2").Range("$A$1:$B$10").AutoFilter Field:=1, Criteria1:=Criteria, Operator:=xlFilterValues
End Sub

注意:仅当您的 id 不是数字时,上述内容才有效,如果是数字,您可以使用以下内容:

Sub Filter2()
Dim tempCriteria As Variant
Dim i As Long
Dim Criteria() As String

tempCriteria = Worksheets("Sheet1").Range("A1:A140")

ReDim Criteria(1 To UBound(tempCriteria))

For i = 1 To UBound(tempCriteria)
Criteria(i) = CStr(tempCriteria(i, 1))
Next

Worksheets("Sheet2").Range("$A$1:$B$10").AutoFilter Field:=1, Criteria1:=Criteria, Operator:=xlFilterValues
End Sub

在上述代码中,将 Worksheets("Sheet1").Range("A1:A140") 更改为保存 140 个 ID 的范围,并将 Worksheets("Sheet2") 更改为包含 140 个 ID 的范围。 Range("$A$1:$B$10") 为您的查询所在的范围。

关于excel - 如何用另一个列表的内容过滤一个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22152997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com