我的“数据库”工作表中有数据,如下所示:
我编写了一个简短的代码来从“数据库”工作表中获取与某些条件匹配的数据并将其粘贴到另一个工作表“SelectedRecords”
这是我的代码
Sub CopyData()
Dim db As Worksheet
Dim rcd As Worksheet
Set db = ThisWorkbook.Sheets("Database")
Set rcd = ThisWorkbook.Sheets("SelectedRecords")
db.Range("A1:C7").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Range("$A$1:$A$2"), _
CopyToRange:=rcd.Range("$A$4:$B$4")
End Sub
此代码正在运行,但我得到了一些额外的记录,如下所示:
我正在寻找名称=“Jack”的数据,但在输出中我得到了以“Jack”开头的所有数据。如何获取与 A2 单元格中提到的条件完全匹配的记录。在这种情况下,我的输出应该只给出“Jack”的一条记录。
另外两条记录“JackSparrow”和“Jackson”应被过滤掉。
最佳答案
默认情况下,您将获得所有匹配项。现在,SelectedRecords
中的单元格 A2
有 Jack
。要获得精确匹配,请将其更改为 ="=Jack"
如下所示,然后重试。
如果您不想每次都键入“=”,则可以使用如下所示的辅助列
关于excel - 如何从另一张表中获取精确匹配的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59873101/