如何在嵌套 IF 语句中正确嵌套 VLOOKUP

如何在嵌套 IF 语句中正确嵌套 VLOOKUP

我发誓我一点也不懒惰。一天晚上熬夜后,我终于搞清楚了如何让这一切顺利进行。但我当然没有保存,而且在我回到电脑前电脑就死机了。

本帖底部的 Drop Box 链接

本工作手册可帮助治疗师:

在社区特定表上单独记录客户的敏感个人信息(例如 WLFN 和 CLCN 是特定社区)创建每周提交的仅用于导出的价值副本模板接口该表用于让治疗师输入他们的每周数据。

模板接口表

A 列='数据输入'!$C$4:$C$12

B 列='数据输入'!$F$4:$F$54

C 列=A3&B3

E 和 F 不合格。E 导致 FALSE。F 导致 #N/A E 列=IF(A3="FDFN",VLOOKUP(C3,FDFN!A4:J49,2,IF(A3="WLFN",VLOOKUP(C3,WLFN!A4:J49,2,IF(A3="CLCN",VLOOKUP(C3,CLCN!A4:J49,2,IF(A3="ERFN",VLOOKUP(C3,ERFN!A4:J49,2,FALSE))))))))

F 栏=IF(A3="FDFN",VLOOKUP(C3,FDFN!A4:J49,2,IF(A3="WLFN",VLOOKUP(C3,WLFN!A4:J49,2,IF(A3="CLCN",VLOOKUP(C3,CLCN!A4:J49,2,IF(A3="ERFN",VLOOKUP(C3,ERFN!A4:J49,2,FALSE))))))))

下面是一个名为“个人社区表”的示例低频网络

社区表样本

我想修复这些错误。

还想知道是否有更好的方法根据数据验证来筛选客户参考A 列。现在我只是用 & 将 A 和 B 结合起来得到 C。(=A3&B3)

投递箱链接 >https://www.dropbox.com/s/z1z1fd31m265egh/Example.xlsx?dl=0

答案1

在单元格 E3 中输入此公式

=VLOOKUP(A3&"~"&B3,INDIRECT("'"&A3&"'!B4:J49"),2,0)

在单元格 G3 中输入此公式

=VLOOKUP(A3&"~"&B3,INDIRECT("'"&A3&"'!B4:J49"),5,0)

希望这有帮助。

来源:Ashish Mathur www.ashishmathur.com http://twitter.com/excelashish

答案2

~要清楚先前失败的原因,是因为第二列中存在波浪符号 ( ),并且它被“转义”。

Excel 中有一些“特殊字符”,它们在使用时会表示一些额外的含义,因为它们被认为传达了“特殊含义”,而不是单独使用时的文字字符值。

~用于传达其后的字符应按其字面含义使用。换句话说,它本身没有任何意义,它只是一个指示符(“转义符”),表示后面的字符不应被解释为具有 Excel 使用它的特殊含义。

字符就是一个例子*。通常使用它会导致 Excel 将其视为“任何”通配符。例如,要搜索一个*字符,可以使用以下字符串进行搜索: ~*

因此,VLOOKUP()读取 B 列(“数字”列)单元格中的值时,它会将~“将下一个字符“0”视为其字面本身,而不是其特殊本身”来读取。不管“0”是不是任何类型的特殊字符……Excel 中的编程并不那么“复杂”。它只是忽略了字符~本身,并将“0”用作“0”。因此,它从单元格中读取的字符串不是,~00001而是00001,嗯,根本找不到。

那么,解决方案的公式之所以有效,是因为~在字符串中添加了另一个,因此现在存在的是~~00001" which Excel processes by dropping the first~ and knowing to interpret the next one, the one part of the cell's contents, as literally a~`,而不是特殊字符。

因此现在搜索字符串正是单元格中的内容,并且查找成功。

相关内容