Excel /多参考标准

时间:2017-06-03 00:00:01

标签: excel excel-vba excel-formula vba

在我的代码中,我想检查目标单元格(A11)是否在3个不同的电子表格中匹配,并从单元格返回适当的值。因此,在手动方式中,我复制单元格A11并访问每个数据表选项卡以查看单元格数据是否存在。我在这里要做的是如果参考单元格为空,如何显示“NOTHING”。只需一行搜索就像黄金一样好:

=IF(
VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE)="",
,"",
IF(
ISNA(VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,1,FALSE))=TRUE,"","R41: " & VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE))&"
"&IF(ISNA(VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,1,FALSE))=TRUE,"","R42: " & VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,11,FALSE))&"
"&IF(ISNA(VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,1,FALSE))=TRUE,"","R43: " & VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,11,FALSE)))

但是我想不只搜索一个,而是所有3个电子表格都添加了OR功能并弄得一团糟......(这就是我能想到的)我已经和很多小时打过仗了但还是想不通。这是我的搞乱代码!

=IF(OR(
VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE)="",
VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,11,FALSE)="",
VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,11,FALSE)=""),"",
IF(
ISNA(VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,1,FALSE))=TRUE,"","R41: " & VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE))&"
"&IF(ISNA(VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,1,FALSE))=TRUE,"","R42: " & VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,11,FALSE))&"
"&IF(ISNA(VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,1,FALSE))=TRUE,"","R43: " & VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,11,FALSE)))

你能看看并指出我需要修改代码的地方吗?感谢:)

1 个答案:

答案 0 :(得分:0)

如果找到匹配但是返回值的单元格为空,则通常会返回零,即空白单元格的值。如果您希望返回文本,则可以通过在返回值后附加零长度字符串来返回零长度字符串(例如""TEXT(,) nothing )。

vlookup($A11,'[DataSheet]SOC 41'!$C$2:$P$5000, 11 ,FALSE)&""

如果要返回的单元格为空,则返回零长度字符串,如果要返回的单元格包含文本,则不会影响结果。它确实然而更改单元格以将数字值返回到文本 - 看起来像一个数字,所以要小心。还有其他方法可以处理不包括将其转换为文本的数字。

由于您将R41,R42和R43连接到VLOOKUP的返回值,所有您应该要求的是更好的错误控制。您的整个公式将受益于它似乎的IFERROR功能。

=IFERROR("R41: "&VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE), "")&
 IFERROR("R42: "&VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,11,FALSE), "")&
 IFERROR("R43: "&VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,11,FALSE), "")

现在这可能会留下 R41:,但没有任何内容,但没有样本数据和预期结果,这是我从你的叙述中可以推测的最好的。