0

我有 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!” 信息。如果任何单元格中没有任何内容,我想显示“”而不是该消息,如果任何必要的单元格中有数据,则显示正确的信息。谢谢

4

3 回答 3

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)))
于 2012-06-25T19:49:52.093 回答
0

我碰巧注意到有关数据如何进入的一些事情。不知何故,数据以字符串字符而不是通用字符的形式出现,因此 VLOOKUP 开头的“”。听取 Barry Houdini 的建议,如果 VLOOKUP 表为空/缺失,我将 VLOOKUP 的 return "" 替换为返回 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, 错误)/2000),"")

于 2012-06-27T13:26:15.933 回答
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

于 2018-01-31T02:36:01.763 回答