协助在Excel中构建特定的IF语句

时间:2016-03-02 20:53:59

标签: excel excel-formula excel-2010 excel-2007

好的,所以我的细胞看起来像这样:

A1: 8/19 Completed 
A2: Completed 4/17 

所有细胞看起来都是那两个,或者它们是空白的。

所以我想整理一个执行以下操作的IF语句:如果一个单元格为空,我希望它说“未完成”,但如果它不是空白,我想在单元格内返回日期。

所以A1会简单地说"8/19"和A2 "4/17"但是如果它是空白的话,它只是说“未完成”

我显然知道它包含IF(ISBLANK())声明,但我无法弄清楚其余部分!

1 个答案:

答案 0 :(得分:1)

因此,要测试您的单元格是否为空,请使用:

=IF(A1="","Not Completed","Completed")

很简单,但你想要日期而不是“已完成”。因此,我们的下一步是查找日期在单元格中的位置。

如果您已经“完成”并且日期随机输入不同的顺序,则需要确定在单元格包含的字符串中找到“已完成”的位置以确定顺序。您可以使用以下方式执行此操作:

=FIND("Completed",A1)

这将为您提供“8/21已完成”或“已完成8/21”内字符串“已完成”的起始位置。如果此函数返回1,则格式为“已完成8/21”。其他任何东西和格式都是“8/21已完成”。

现在,我们只需要切断字符串。如果=FIND("Completed",A1)等于1,那么我们要使用=RIGHT(A1,LEN(A1))-10。这将修剪字符串,从右侧开始,到长度为负十个字符(“已完成”的长度)。如果它不是1,我们要使用=LEFT(A1,LEN(A1)-10)。这将做同样的事情,但从左边开始。

所以,我们的完整公式归结为

=IF(A1="","Not Completed",IF(FIND("Completed",A1)=1,RIGHT(A1,LEN(A1))-10,LEFT(A1,LEN(A1)-10))