Excel中的VLOOKUP问题,#Value

时间:2012-06-25 19:23:12

标签: excel null vlookup

我有Excel文件,其中数据自动输入到不同的工作表中。我正在尝试开发一个新工作表来显示一些其他工作表中的一些重要信息。我把我床单上的大部分细胞都搞定了,但是有两个给了我一些问题。问题是我正在使用VLOOKUPS / ISERROR和VLOOKUPS / ISERROR。我的问题是当我们结合起来分开没有结果的答案时。我想知道当一个或两个VLOOKUPS / ISERROR语句为假时,是否有办法阻止它显示“#VALUE!”。

下面是我用于单元格的公式的副本,下面是我将收到的数据示例。

  

= IF(ISERROR(VLOOKUP(22,ChargingData!$ B $ 31:$ I $ 41,2,   FALSE)),“”,VLOOKUP(22,ChargingData!$ B $ 31:$ I $ 41,2,FALSE)/ 2000)+   IF(ISERROR(VLOOKUP(33,ChargingData!$ B $ 31:$ I $ 41,2,   FALSE)),“”,VLOOKUP(33,ChargingData!$ B $ 31:$ I $ 41,2,FALSE)/ 2000)

     

= IF(ISERROR(VLOOKUP(23,ChargingData!$ B $ 31:$ I $ 41,2,   FALSE)),“”,VLOOKUP(23,ChargingData!$ B $ 31:$ I $ 41,2,FALSE)/ 2000)+   IF(ISERROR(VLOOKUP(33,ChargingData!$ B $ 31:$ I $ 41,2,   FALSE)),“”,VLOOKUP(33,ChargingData!$ B $ 31:$ I $ 41,2,FALSE)/ 2000)

表格数据

33  65456            868931           654964             989872
23          65685    456331           6568     789911    65464
22          35468             84213   654987             633314

我想知道是否有人可以帮助我停止表格显示“#VALUE!”信息。如果在任何单元格中没有任何内容,并且如果任何必要单元格中存在数据,则显示正确的信息,而不是我想要显示的消息“”。谢谢

3 个答案:

答案 0 :(得分:0)

试试这个(我的括号可能有点偏差):

=IF(Or(ISERROR(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE),ISERROR(VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE))),"",(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE)/2000) + (VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)/2000)))

要打破它:

如果vLookups是错误

=IF(Or(ISERROR(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE),ISERROR(VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)))

返回空白

,"",

否则,返回第一个Vlookup / 2000 +第二个Vlookup / 2000

(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE)/2000) + (VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)/2000)))

答案 1 :(得分:0)

我碰巧注意到数据是如何进入的。不知何故,数据以字符串字符而不是通用字符形式出现,因此VLOOKUP开头就是“”。根据Barry Houdini的建议,如果VLOOKUP表为空/缺失,我将VLOOKUP的返回值“”替换为0。如果返回0,我添加了额外的IF语句以显示空白。

以下是我用于单元格的新功能:

  

= IF(IF(ISERROR(VLOOKUP(“23”,ChargingData!$ B $ 31:$ I $ 41,2,FALSE)),0,VLOOKUP(“23”,       ChargingData!$ B $ 31:$ I $ 41,2,FALSE)/ 2000)+ IF(ISERROR(VLOOKUP(“33”,       ChargingData!$ B $ 31:$ I $ 41,2,FALSE)),0,VLOOKUP(“33”,ChargingData!$ B $ 31:$ I $ 41,2,       FALSE)/ 2000)<> 0,IF(ISERROR(VLOOKUP(“23”,ChargingData!$ B $ 31:$ I $ 41,2,       FALSE)),0,VLOOKUP(“23”,ChargingData!$ B $ 31:$ I $ 41,2,FALSE)/ 2000)+       IF(ISERROR(VLOOKUP(“33”,ChargingData!$ B $ 31:$ I $ 41,2,FALSE)),0,VLOOKUP(“33”,       ChargingData!$ B $ 31:$ I $ 41,2,FALSE)/ 2000),“”)

答案 2 :(得分:0)

试试这个:

=numbervalue(ifna(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE),0))/2000+ 
 numbervalue(ifna(VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE),0))

numbervalue()将字符串更改为数字(“”=> 0) ifna()如果找不到值,则返回0