2016-12-02 38 views
0

我有三个条件,它们都可以很好地工作。Excel - 如何将多个条件集成到公式中

我想将它们全部组合成一个公式,但我对EXCEL来说很新,尝试了几件事但没有运气。

1. ensure the cell is not blank and there's no errors 
=IF(ISBLANK(Database!xxx),"N/A",IFERROR(Database!xxx, "N/A")) 

2. get the last value from a range of cells 
=INDEX(Database!T15:AE15, AGGREGATE(14, 6, COLUMN(A:O)/(Database!T15:AE15<>""), 1)) 

如何将上述两者结合起来以确保捕获到所有空白和错误。

回答

1

你接近你的聚合函数。刚刚从IF语句添加条件,分母中的聚合函数中:

=INDEX(Database!T15:AE15,AGGREGATE(14,6,COLUMN(A1:O1)/((Database!T15:AE15<>"")*(Database!T15:AE15<>"N/A")*(NOT(ISERROR(Database!T15:AE15)))),1)) 

*的作品就像一个AND

要在没有有效的输入范围内处理的问题,然后把它包在IFERROR:

=IFERROR(INDEX(Database!T15:AE15,AGGREGATE(14,6,COLUMN(A1:O1)/((Database!T15:AE15<>"")*(Database!T15:AE15<>"N/A")*(NOT(ISERROR(Database!T15:AE15)))),1)),"N/A") 
+0

这将返回TRUE而不是来自单元格的值 –

+0

我的不好。我有一点被复制粘贴带走了。请参阅编辑。 –

+0

现在它正确拉取单元格中的值,但如果单元格为空,则会返回“#NUM!”错误 - 真的很遗憾要成为一个痛苦!如此接近 –

1

这应该工作:

=IF(OR(ISBLANK(Database!F24),ISERROR(Database!F24)),"N/A",INDEX(Database!T15:AE15, AGGREGATE(14, 6, COLUMN(A:O)/(Database!T15:AE15<>""), 1))) 
+0

道歉,但细胞F24,不会是硬编码的,所以我将使用与该范围T15有效值最后一次通话:AE15。我该如何处理这个问题。 –

+0

我有点困惑--F24不在'T15:AE15'范围内 – Jeremy

+0

基本上,我拉出范围T15:AE15中的最后一个单元格,无论可能的单元格,我想确保它不是空白的,如果true然后返回“N/A” –