2017-02-03 373 views
-1

试图学习excel的东西。有人能帮我理解如何在Excel中编写IF/ELSE语句吗?在处理逻辑运算符时,如果条件满足,则会迷路。Excel-如果其他语句

我正在与工作的例子如下:

IF (A1 == NULL) 
     B1 = "" 
    ELSE IF (A1 != NULL) AND (C1 == NULL) 
     B1 = (A1 - Today's Date) 
    ELSE IF (A1 != NULL) AND (C1 != NULL) 
     B1 = (A1 - C1) 
    ELSE 
     ERROR 

A1-如果不为空,将包含一个日期值(例如2/28/2016)

B1-的整数表示通过两个日期

之间的天数

C1-如果不为空,将包含日期值

谢谢先进!

+1

你有什么研究?一般来说,你只需要“捎带”If语句。如果(A1 =“女”,如果(A1 =“女”),[如果不是男的,但是女是女],如果(A1 =“女”男人,女人,但是东西],如果(和(a1 =“男人”,a1 =“女人”),[如果男人和女人都这样做],......' – BruceWayne

+0

这不是我的答案,因为我认为你'一般来说,你可以在网上找到...但是对于你的例子,它会(在单元格B1'中输入):'= If(A1 =“”,“”,if(and(A1 <如果(And(A1 <>“”,C1 <>“”),A1-C1,“Error”),“Error”)'......“,则C1 =”“),A1-today()或者非常接近AFAIK在Excel中没有真正的NULL,所以空白单元('“”')应该可以工作 – BruceWayne

+1

@BruceWayne你的外层IF有太多的参数,最后一个Error不需要,你需要另一个关闭括号以关闭所有三条IF语句 – teylyn

回答

0

你的伪代码:

IF (A1 == NULL) 
     B1 = "" 
    ELSE IF (A1 != NULL) AND (C1 == NULL) 
     B1 = (A1 - Today's Date) 
    ELSE IF (A1 != NULL) AND (C1 != NULL) 
     B1 = (A1 - C1) 
    ELSE 
     ERROR 

翻译成Excel公式,在该公式将住在B1单元格

=if(A1="","",if(C1="",A1-today(),A1-C1)) 

我认为,由于对最外层的FALSE分支IF语句只大火如果A1不为空,则不需要再次对A1进行测试。

以同样的方式,C1或者是null,所以不需要另一个嵌套,如果确实没有其他Else会返回错误的情况。

+0

方式不如我想象的那么复杂 - 谢谢!(A1),“”,IF(ISBLANK(C1),DATEDIF(A1,TODAY(),“d”),(A1-C1)* - 1)这样我就结束了: = – bigstarr

0

Excel的IF语句就像C或Java的条件statemnt:

(测试条件)?运行这个如果是真的:运行此如有虚假

在Excel中,它的:

IF(测试条件,如果是真的运行此,如有虚假运行此)

因此它需要3个参数。如果你有递归的话,它会变得复杂,因为它必须嵌套在最外层的IF statemnt中。

+0

感谢您对参数的简单说明,非常有帮助 – bigstarr

+0

欢迎您! – Ezani