如何过滤字典以自动填充表单?

时间:2016-10-17 09:30:54

标签: excel vba excel-vba

我有一个用户列表"数据库"片:
enter image description here

On" Form"表格,助理填写来自"数据库"的特定用户列表。数据。 enter image description here

如何搜索DATABASE表格以自动完成"表格"助手输入关键词时的表格(例如ID)?

例如:如果是助手,输入ID = 1546,我希望LastNAme和名字自动完成,LastNAme = Aalderink和名字= Darell。

我不知道我是怎么做到的。我使用级联下拉列表,但助手必须始终以" LastName"

1 个答案:

答案 0 :(得分:0)

我建议您使用VLOOKUP功能。这个函数可以给出一个给定键的“表”的另一个值,在这种情况下ID需要是该表的第一列。

因此,在您的工作表DATABASE上,我会将ID列更改为A列,Last Name BFirst NameC。 然后在工作表Form上,我将此公式放在单元格A2

=IFNA(VLOOKUP(C2;DATABASE!$A$2:$C$17;2;FALSE);"")

并在单元格B2

=IFNA(VLOOKUP(C2;DATABASE!$A$2:$C$17;3;FALSE);"")

最后,只需将公式拖动到所需的单元格即可。 IFNA函数只是为了防止不执行匹配的情况。我将输出设为空白(""),但您可以将其更改为任何值,例如"No match!"

注意:我还建议您使用defined names以避免始终重新定义数据库范围。这样你只需要编写类似的东西:

=IFNA(VLOOKUP(C2;table_data;2;FALSE);"No match!")

HTH;)