Jer*_*Jer 23 worksheet-function microsoft-excel
例如,
假设一个单元格的值是:
IF(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE)), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE))
Run Code Online (Sandbox Code Playgroud)
在这里,我想要两个 VLOOKUP 的乘积。但有些行可能不存在,因此它可能返回 NA。如果它返回 NA,只需在此单元格中输入零,否则我想要产品。
你必须在那里有两次完整的表达似乎很愚蠢。是否有一些快捷方式我可以说“做这个计算,如果它返回一个值,使用那个,否则使用一些默认值?
bar*_*ini 41
如果您有 Excel 2007 或更高版本,您可以使用 IFERROR 函数来避免重复
=IFERROR(VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE),0)
或者您可以在早期版本中使用这样的解决方法
=LOOKUP(9.9E+307,IF({1,0},0,VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE)))
如果您检查 NA 的第一个查找值,然后检查第二个查找值,如果它们都有效,则将它们相乘,这对您来说可能更有意义。
=IF(OR(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE)),ISNA(VLOOKUP(A3,somesheet!A:D,4,FALSE))), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,somesheet!A:D,4,FALSE))
Run Code Online (Sandbox Code Playgroud)
这增加了更多的复杂性,但可能不会冒犯微妙的程序员敏感性。;-)
| 归档时间: |
|
| 查看次数: |
32874 次 |
| 最近记录: |