2015-04-28 59 views
1

我有一个表,其中A1是空的,一个号码(12345),或声明(“富”)我想什么做的是:谷歌表IF或声明

If A1 is blank then A2 is blank 
OR 
If A1 is number then A2 = TODAY 
OR 
IF A1 is "foo" then A2 = "bar" 

我知道了开始,像这样的工作方式,只需要添加“foo”的一部分

=IF(ISBLANK(A1), , TODAY()) 

回答

2

您可以使用嵌套IF语句做到这一点。放在单元格A2如下:

=IF(OR(ISBLANK(A1), A1=""),"",IF(ISNUMBER(A1),TODAY(),IF(A1="foo","bar",ERROR.TYPE(A1)))) 

首先,它检查如果单元格为空或空字符串(如果你不想空串件更换OR(ISBLANK(A1), A1="")ISBLANK(A1))。如果单元格为空,它会使A2等于一个空字符串(注意 - 空字符串与空白不同)。据我所知,无法返回“空白”)。

如果单元格不是空白或空字符串,然后检查它是否是一个数字。如果是数字,则返回当前日期。

如果它不是数字,它会检查单元格是否等于字符串“foo”。如果它等于foo,则返回字符串“bar”。

如果这些语句都不是真,它会返回一个错误。您可以将ERROR.TYPE(A1)替换为您想要的任何默认操作(可能只是"")。

例如:

----------------------- 
|   |   | 
----------------------- 
|   1| 4/27/2015| 
----------------------- 
|foo  |bar  | 
----------------------- 
|foobar | #N/A | 
----------------------- 
+0

这两个解决方案的工作!尽管不需要错误处理,但我希望在需要时添加处理。 – abchase

3

你可以为这个改写。

IF (A1 is blank) THEN 
    A2="" 
ELSE 
    IF (A1 is number) THEN 
     A2 = TODAY 
    ELSE 
     IF (A1 is "foo") THEN 
      A2 = "bar" 

因此,在电子表格中,你可以ñ巢IF声明:

IF(ISBLANK(A1), "", IF(ISNUMBER(A1), TODAY(), IF(EQ(A1, "foo"), "bar", "ERR: A1 matched no pattern."))) 
+0

这个工作呢!谢谢您的帮助。 – abchase