Excel IF语句

时间:2016-11-04 15:21:16

标签: excel

我试图以一种方式提出一个传统系统,我可以在不使用VBA宏的情况下执行if语句来实现数据填充名称列表。这将使用IF语句来查看列D是否具有名称的值,如果是,则将其放入已完成的列表中,如果不存在,则不执行任何操作,并在其具有值时将下一个名称放在那里。未完成列表中将始终有8个项目,因为它是固定/永久名称(E中的值将更改),并且在已完成列表中为4个或更少。

预期输出:

    Fulfilled List                           UnFulfilled List
      A        B                                 D         E
    Apples    50                              Apples       50 
    Oranges   75                              Peanuts      
    Grapes    60                              Oranges      75
    Avacados  100                             Grapes       60
                                              Carrots     
                                              Avacados     100

这是我的想法。它会检查值,如果有值,则放置值,然后放置名称,如果不存在值,则检查下一个单元格。然而,这将失败,因为无论如何,当我们只希望它采取有效物品时,它将需要e2。

Cell B1 = =if(e1="",e2,e1)
Cell A1 = =if(b1="Apples,d1,d2) nested if statement possibly?

任何帮助将不胜感激我如何能够解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你可以使用数据透视表或在A1中使用如下的数组公式:

=IFERROR(INDEX($D$1:$D$3,SMALL(IF($E$1:$E$3>0,ROW($E$1:$E$3)),ROW())),"")

注意:按Ctrl + Shift + Enter,然后根据需要向下拖动

Note2 :在这种情况下使用了行1,如果数据低于那个(例如带有标题的tbale),其中ROW()变为 - > ROW() - ROW(对标题单元格的引用

您需要更改:

$ D $ 1:$ D $ 3 - 这应该是D栏中的完整项目清单

$ E $ 1:$ E $ 3 - 类似地,这应该是E列中的计数的完整列表(两个地方的变化 - 在IF旁边和ROWS旁边)

然后在B列中,您可以使用vlookup公式,例如:

=IF(LEN(A1)>0,VLOOKUP(A1,$D$1:$E$3,2,FALSE),"")

注意:这假设您在D列中没有重复

再次,您需要更改$ D $ 1:$ E $ 3,以便它包含这些列中的所有内容

希望有所帮助