Arrays 用二维表格进行VBA查找
我有一张大的2D桌子。我希望用户从下拉菜单中选择两个类别,并让单元格返回相交值 实现这一点的最佳方式是什么?使用vlookup()、.index、.match()Arrays 用二维表格进行VBA查找,arrays,vba,matrix,lookup,Arrays,Vba,Matrix,Lookup,我有一张大的2D桌子。我希望用户从下拉菜单中选择两个类别,并让单元格返回相交值 实现这一点的最佳方式是什么?使用vlookup()、.index、.match() 谢谢。索引和匹配(分别)是最好的,就像您将匹配(即查找)放在自己的单元格中一样,如果您想查找其他列,您可以再次使用它。以下是我的操作方法: 设置一些测试数据: 1 2 3 4 A the quick brown fox B jumped over
谢谢。索引和匹配(分别)是最好的,就像您将匹配(即查找)放在自己的单元格中一样,如果您想查找其他列,您可以再次使用它。以下是我的操作方法: 设置一些测试数据:
1 2 3 4
A the quick brown fox
B jumped over the lazy
C dog and landed on
D the large grazing cow
然后在单元格B7中,我将数据验证设置为List:=$A$2:$A$5
(这允许我们选择A-D)
单元格B8,要列出的数据验证:=$B$1:$E$1
(这允许我们选择1-4)
现在,如果需要,您只需通过MATCH将第二个选项转换为数字,然后执行VLOOKUP:
=VLOOKUP($B$7,$A$2:$E$5,$B$8+1,FALSE)
vlookup+匹配:)怎么样?它的功效很强,并且可以产生一个相当小的配方,如果你整天都在使用配方奶粉的话,可以省去一些头痛。我想你有一些类似我下面的东西(感谢数据集同上!),其中A2和B2是你的下拉选择 以下是公式:
=VLOOKUP(myRow,myTable,MATCH(myCol,myColRng,0),0)
因此,您可以基于匹配查找返回数字,而不是为vlookup的列索引参数使用静态数字。因此,列和行都是可搜索的
我用命名范围使它看起来很可爱,您可能更喜欢这样做:
您的两个下拉列表:
myCol=A2 myRow=B2
表和列范围:
myTable=A4:D7 MyColrn=A4:D4是的,这是最好的方法。