Excel和/或多个IF的问题

列F检查我的“数据库”(Sheet1),并告诉我是否存在与当前表格列G相匹配的内容。

=VLOOKUP(ShippingPlanPREP!C2,MainDatabase!A:G,E2,FALSE) 

我得到一个价格,一个零或一个#N / A错误的回报。 目前我不在乎价格,因为这意味着我有Sheet1 "MainDatabase"的单位和所需条件。

所以我基本上有两个不同的方向我想去;

添加新的单位(#N / A错误)和条件的价格

要么

添加一个新的单位条件价格(返回0)

我相信这是我的问题所在:

I,J和K列表示不同的条件/价格,并且需要告诉我,基于列F,要么在数据库中查找已知的条件/价格,查看是否正在更新这个条件条件,要么添加价格(来自C列),因为所需的标准相匹配。

我试过的代码:

 =IF(AND(AND($F2=0,(ISNA($F2)),ShippingPlanPREP!$B2="A")),$C2,VLOOKUP($G2,MainDatabase!A:E,3,FALSE)) 

我尝试了并取得了一些成功。 我现在正在获取数据库数据,但是当它需要在那里时,我没有在“Amazon_A”等中获得C2的价格。

 =IF(AND(OR($F2=0,(ISNA($F2)),ShippingPlanPREP!$B2="A")),$C2,VLOOKUP($G2,MainDatabase!A:E,3,FALSE)) 

我不认为OR是答案,因为那样我就在所有类别/列上得到了相同的条件价格。

我已经尝试了比这更多的变化没有成功。 请让我知道是否需要更多的信息。 先谢谢你。

让我们看看如果把它分解成简单的术语将有助于逻辑过程,并得到你想要做的。

 Value of F | Process to follow ------------------------------ #NA | A 0 | B $42.42 | C 

去if路线,我们会想要使用这样的公式:

 =IF(isNA(F2), "A" , IF(F2=0,"B","C")) 

你应该能够把它扔进你的工作表,并testing你得到你的三个字母。 当这是工作,取代你想要发生在每个字母的方程。 确保个人方程式正在工作。

所以为了澄清你的方程式,我们再看看那张表。

 Value of F | Process to follow ------------------------------ #NA | "What to do when F is #NA" 0 | $C2,VLOOKUP($G2,MainDatabase!A:E,3,FALSE) $42.42 | "What to do when F is a price" 

这是一个公式。 如果我把它放在那里,那就意味着当F等于0时,就是要采取的行动。我只看到了一个公式,所以现在问题是你想为其他两个结果采取什么公式或行动。 现在我可能已经把你的公式换成了错误的F值,但是你可以调整它以适应你的需要。 如果我把你的公式replace成前面的if语句,它会看起来像这样:

 =IF(isNA(F2),"What to do when F is #NA",IF(F2=0,$C2,VLOOKUP($G2,MainDatabase!A:E,3,FALSE),"What to do when F is a price")) 

补充信息

如果上面的逻辑表过于简化,并且在采取行动之前还有其他必须成立的条件,则可以在采取行动之前添加列来构build思考过程。 如果是这样的话,用你的逻辑表更新你的问题,我们可以帮助你在需要的时候用AND和OR构buildIF语句。 在build立你的表格来帮助你更清楚地理解时,最重要的事情就是把每一行看作是唯一的,以确保你的过程发生。

 Value of F | Value of another cell | Process to follow ------------------------------------------------------ #NA | True | A 0 | True | B $42.42 | True | C #NA | False | A 0 | False | C $42.42 | False | B 

这只是许多方法之一。