在Excel中的IF条件

时间:2013-04-30 04:59:43

标签: excel

我正在使用一些带if条件的公式来了解excel表中的某些单元格是否已填满。基本上我需要的是,当我列出的单元格有一些值时,一条消息将显示'COMPLETE',否则'NOT COMPLETE'。我使用下面的公式,它工作正常:

=IF(
OR(ISBLANK(C6),ISBLANK(C7),ISBLANK(C9),ISBLANK(C10),ISBLANK(C11),ISBLANK(C12),
   ISBLANK(C17),ISBLANK(C18),ISBLANK(C19),ISBLANK(C20),ISBLANK(C21),ISBLANK(C22),
   ISBLANK(C23),ISBLANK(B16),ISBLANK(C25),ISBLANK(C26),ISBLANK(C27),ISBLANK(C28),
   ISBLANK(C29),ISBLANK(C30),ISBLANK(C31),ISBLANK(C32),ISBLANK(C33),ISBLANK(C34),
   ISBLANK(C35),ISBLANK(C36),ISBLANK(C37),ISBLANK(C38),ISBLANK(C39)), 
"NOT COMPLETE","COMPLETE")

现在的问题是,如果我尝试添加更多此类单元格,那么我收到错误消息 “为此函数指定的参数比当前文件格式允许的参数多。”

请帮我根据我的情况添加更多细胞。在此先感谢Krishna

4 个答案:

答案 0 :(得分:5)

下面会对你做同样的事情吗?它计算范围内的空白单元格,如果计数大于1则返回不完整

=IF(COUNTBLANK(C6:C39)>0,"NOT COMPLETE","COMPLETE")

您可以选择多个范围,例如:

=IF(SUM(COUNTBLANK(INDIRECT({"C6:C23","B16","C25:C39"})))>0,"NOT COMPLETE","COMPLETE")

修改

不确定是什么版本的Excel COUNTBLANK,或者您可以使用COUNTIF,这绝对是在2003年:

=IF(SUM(COUNTIF(INDIRECT({"C6:C23","B16","C25:C39"}),""))>0,"NOT COMPLETE","COMPLETE")

这将细胞计数等于"" (空白)并且如果大于0则返回NOT COMPLETE。

答案 1 :(得分:1)

听起来您在2007年之前使用的是Excel版本 - Excel OR功能仅限于早期版本中的30个表达式(2007年及之后的255个)。

我没有Excel 2007,但尝试使用嵌套的If语句,就像这样。假设您有50个单元格 - 将前30个放在第一个OR中,剩下的20个放在第二个OR中。

IF(OR(<expressions>),"NOT COMPLETE",IF(OR(<expressions>),"NOT COMPLETE","COMPLETE")

第一个(外部)IF表达式将评估前30个单元格以查看是否有空白。如果有空白,则评估返回True并打印“NOT COMPLETE”。

如果它们都不是空白,则评估将返回False,并且将评估第二个(内部)OR表达式。

如果第二个OR中的任何单元格为空白,它将评估为True并打印“NOT COMPLETE”。

如果第二个OR中的所有单元格都不为空,则它将评估为True并打印“COMPLETE”。

您最多可以嵌套7个IF语句。

答案 2 :(得分:0)

=IF(Sum(IsBlank(C6),IsBlank(C7), etc.)=0,"complete","not complete")

在excel

中False = 0和True = 1

答案 3 :(得分:0)

廉价的黑客就是使用中间细胞来计算更小范围的细胞。

让我们假设您使用单元格z1来存储C6-C3的第一个IF的结果

放入单元格z1
=if (OR( ISBLANK(6)...,ISBLANK(39)), 1, 0)
在单元格z2中 =if (OR( ISBLANK(40)...,ISBLANK(69)), 1, 0)

然后在目标细胞中(我不记得如何检查相等)
if (OR z1==1, z2==1, "NOT COMPLETE", "COMPLETE")