我一直在使用Excel中的电子表格,我遇到了一个无法解决的问题。我根据自己的知识尝试了一切,并对我在网上找到的内容进行了研究。在从数据验证下拉列表中选择部门后,我试图使用IF语句自动填充具有“部门ID”编号的单元格。在我的所有研究之后,我取得的最大进展是功能:
=IF(E2="*",VLOOKUP(E2,'Locate-Dept-AcctNum'!$C$2:$D$31,2),"No Department")
在上面的示例中,“E2”是包含我尝试搜索的部门名称下拉列表的单元格。
我的问题是,当使用这个函数时,我总是在我的函数所在的输出单元格中返回“No Department”,这意味着我的IF函数总是被证明是假的。我永远无法从数据验证下拉列表中选择的部门成功搜索并输出正确的部门ID。任何帮助或建议将不胜感激!
答案 0 :(得分:0)
您的VLOOKUP function是近似匹配,查询列(' Locate-Dept-AcctNum'!$ C:$ C)必须按升序排列。
我建议将错误控制更改为包装IFERROR function,并使用FALSE在VLOOKUP上进行完全匹配。
=IFERROR(VLOOKUP(E2, 'Locate-Dept-AcctNum'!$C$2:$D$31, 2, FALSE),"No Department")
如果您的查阅列位于“返回值”的右侧。列,使用
=IFERROR(INDEX('Locate-Dept-AcctNum'!C:C, MATCH(B2, 'Locate-Dept-AcctNum'!D:D, 0)), "no department")
VLOOKUP始终使用最左侧的列进行查找,并从右侧返回值。要在右侧查找并从列向左返回,您需要一个INDEX / MATCH函数对。