2015-06-15 35 views
-1

我试图看,如果在第二片材的单元的值不等于空白,然后检查其他小区的值大于3小或进一步更新的值为1或0If语句和另外

第一种情况,如果第二张纸上的g2单元值不等于空白,则检查f5单元值。如果F5单元格的值小于3比它应该显示为1,否则0

=sheet2!NOT(ISBLANK($G2)) + IF($F5>2, 0, 1) 

感谢

+1

什么是你的问题吗? –

+0

有两个条件:第一个检查sheet2中的单元格值不是空白。第二条件检查sheet2中的单元格值f5是否小于3,而不是将sheet1单元格中的值设置为1 else。所以这两个条件应该得到满足。希望我现在能够解释它 – user3457622

+0

第一条件,如果g2单元格值出现在第二张不等于空白,然后检查f5单元格值。如果f5单元格值小于3,则应该显示为1 else 0. – user3457622

回答

1

首先,你的公式=sheet2!NOT(ISBLANK($G2)) + IF($F5>2, 0, 1)没有使用正确的Excel的语法。表单引用与单元格引用一起使用,不在通用公式之外。另外,你的公式检查F5大于2,不小于3

有2个条件:1,检查在Sheet2中的单元格的值不为空。

NOT(ISBLANK(Sheet2!$G2))检查了这一点。检查

第二COND如果Sheet 2中单元格的值F5小于3个

逻辑条件$F5 < 3检查这一点。

比在Sheet1单元中将值设置为1 else 0。

IF(condition(s), 1, 0)

所以双方的条件应该得到满足。

现在要检查两个条件都满足,那么你需要在你IF()功能的逻辑测试参数的AND()功能:=IF(AND(), 1, 0)

或者把它一起:IF(AND(NOT(ISBLANK(sheet2!$G2)), $F5 < 3), 1, 0)

+1

这是一个很好的写法。这个问题得到了布尔逻辑和“与”与“或”的核心。由于该加号不是所期望的结果,所以OP正在危险地接近'OR'。正确的结果也可以通过将条件相乘得到,因为布尔表达式的乘法会产生一个AND:ISBLANK(Sheet2!$ G2)*($ F3 <3)'将产生一个'TRUE'或'FALSE'结果。 – JNevill

+0

@JNevill:是的,这是一个很好的观点。获得期望的{0,1}输出的另一种方法是简单地获得'TRUE'或'FALSE'结果,然后乘以'1'而不是使用'IF()'函数:_e.g ._,'=(NOT(ISBLANK(sheet2!$ G2))*($ F5 <3))* 1' –

+0

非常感谢你的天才! – user3457622